struct A
{
int i;
};
struct B
{
B(){}
int i;
}
Привет, всеКак понять этот POD правилу
Я знаю, что «POD означает тип Plain Old Data, который по определению не может иметь определенный пользователем конструктор». Но я не могу понять, почему это правило действует, когда «определение имеет пользовательский default-con».
Нет разницы в их макете памяти. Почему тип A является POD, но не B?
Добавить флаг языка. C++, не так ли? – doctorlove
Возможный дубликат [Что такое типы POD в C++?] (Http://stackoverflow.com/questions/146452/what-are-pod-types-in-c) – Macmade
Потому что язык говорит так? POD означает, что состояние выражается полностью членами, но наличие определяемого пользователем конструктора означает, что в логике конструктора есть дополнительное состояние. –