Затем я проверил еще несколько вещей, чтобы попытаться улучшить свое понимание:
Код: Выделить всё
struct Test {
double d;
};
struct Test2 : Test {
int i;
};
struct Test3 : Test {
int i;
Test3(unsigned u) {}
};
std::is_trivy
std::is_pod
std::is_standard_layout
Код: Выделить всё
doubleверно
верно
Код: Выделить всё
struct Testверно
верно
Код: Выделить всё
struct Test2ложь
ложь
Код: Выделить всё
struct Test3false
false
Код: Выделить всё
std::arrayверно
верно
Код: Выделить всё
std::vectorfalse
true
Код: Выделить всё
std::mapfalse
false
Может кто-нибудь объяснить, почему std::vector считается «стандартным макетом» и что мне следует использовать, чтобы проверить, является ли тип POD в С++20?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ouble-true
Мобильная версия