C++11中使用sizeof获取类成员大小
在C++11标准中,我们可以使用sizeof运算符来获取类对象的大小。当我们用它来获取类成员的大小时,需要特别注意一些细节问题。接下来,本文将会给大家详细阐述C++11中如何使用sizeof运算符来获取类成员大小。
首先,需要明确的是,对于非静态成员变量,sizeof运算符只会计算其类型的大小,而不会计算实际占用内存的大小。具体来说,sizeof运算符计算非静态成员变量的大小时,只会考虑成员变量的类型和对齐方式,而不会计算该成员变量实际所占用的内存大小。
接下来,我们来看一个例子:
class MyClass {
public:
int m_i;
double m_d;
};
int main() {
cout << "sizeof(MyClass) = " << sizeof(MyClass) << endl;
cout << "sizeof(m_i) = " << sizeof(MyClass::m_i) << endl;
cout << "sizeof(m_d) = " << sizeof(MyClass::m_d) << endl;
return 0;
}
输出结果