Если есть структура POD с некоторыми переменными-членами, например, такими:
struct foo
{
short a;
int b;
char c[50];
// ...
};
Есть ли способ получить размер переменной-члена в байтах,без создания объекта этого типа?
Я знаю, что это будет работать:
foo fooObj;
std::cout << sizeof( fooObj.a ) << std::endl;
std::cout << sizeof( fooObj.b ) << std::endl;
std::cout << sizeof( fooObj.c ) << std::endl;
Будет ли компилятор оптимизировать следующее и предотвратить создание объекта?
std::cout << sizeof( foo().a ) << std::endl;