C++11支持sizeof对非静态成员运算

在C++98标准中,对非静态成员变量使用sizeof是不能够通过编译的。

写段代码来说明:

可以注意到最后一个sizeof操作。C++11中对非静态成员变量使用sizeof是正确的,但C++98中非静态成员变量使用sizeof是错误的。

如果C++98中要获取非静态成员变量的大小,可以用0强制转换成指针,再用指针来指成员变量,方可获取

从以上代码可以看出与C++11方法的可读性和便利性都没办法比。

所以用C++11? sizeof获取非静态成员比C++98中方便很多。