Если существует структура 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;