Каким правилам я должен следовать, чтобы гарантировать, что тип C++ является POD? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Каким правилам я должен следовать, чтобы гарантировать, что тип C++ является POD? [дубликат]

Сообщение Anonymous »


Возможный дубликат:

Что такое типы POD в C++?
Что такое агрегаты и POD и почему/почему они особенные?


Я пишу интерпретатор на C++ и хочу убедиться, что определенные данные C++ типы имеют предсказуемую структуру, когда к ним обращаются через интерпретируемый код, особенно при использовании отражения. Например, я хочу убедиться, что первое поле данных всегда имеет нулевое смещение от адреса объекта. Это тривиально для чисто типов POD. Однако мне интересно, может ли это также работать с объектами, имеющими наследование или конструкторы, если я избегаю очевидных вещей, таких как виртуальные функции или множественное наследование. Разумно ли предполагать, что компилятор будет размещать эти типы так же, как компилятор C, или мне придется беспокоиться о «неопределенном поведении» в стандарте C++?

Подробнее здесь: https://stackoverflow.com/questions/132 ... ype-is-pod
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»