#pragma pack(1) #include <utility> #include <cstdint> #include <iostream> struct myInt{ myInt(int var = 0): var(var) {}; int var; }; int main(int argc, char** argv) { std::pair<myInt, int8_t> myPair; std::cout << sizeof(myPair) << std::endl; return 0; }
прагма пак нарушает стандарт прям явно потомучто типы не соотвутствуют alignof своих частей
ну есть инты еще разные
кстати - занятно что это для 4 байтного инта выдаст 5
Обсуждают сегодня