Могу ли я по закону повторно интерпретировать_cast между совместимыми с макетом типами стандартных макетов?
Я пишу класс, который, принимая ответ наСовместимо ли расположение типов перечисления с их базовым типом? "да", совместим с макетомstruct kevent
но используетenum class
дляfilter
, flags
и т. д. с соответствующими базовыми типами для соответствующих полей. Это также стандартная схема (все поляprivate
и все сами по себе стандартной компоновки нетvirtual
членов, нет базовых классов). Из моего прочтенияn3690
Я могу определить, что мой класс иstruct kevent
имеют одинаковое представление значений, но я не вижу ничего в стандарте, что позволяет мнеreinterpret_cast
между ними, даже если это кажется разумным толкованием «представления стоимости». Это технически разрешено стандартом? Если нет, то что дает знание представления значения типа?
РЕДАКТИРОВАТЬ 2014/02/24 16:45 EST: В ответ на комментарий я должен уточнить, что я хочуreinterpret_cast
первый классссылка на во-вторых, как, конечно, вы не можете напрямуюreinterpret_cast
тип без указателя на другой тип без указателя.