获取成员变量的大小

2024-03-29

如果有一个POD http://en.wikipedia.org/wiki/Plain_old_data_structure结构体,带有一些成员变量,例如这样:

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;

您可以在 C++0x 中执行此操作:

sizeof(foo::a);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取成员变量的大小 的相关文章

随机推荐