c++类的大小

C++类对象中的成员变量和成员函数是分开存储的
成员变量:
普通成员变量:存储于对象中,与 struct 变量有相同的内存布局和字节对齐方式
静态成员变量:存储于全局数据区中
成员函数:存储于代码段中。

class C2
{
public:
	int i; 
	int j; 
	int k; 

	static int m; //4 静态成员变量  不会放到对象里面
public:
	int getK() const { return k; } //4
	void setK(int val) { k = val; }  //4

protected:
private:
}; 

C2的大小为12,因为静态变量存储在全局数据区域中,成员函数存储于代码段中,留给class C2的大小其实只有12个,也就是所有普通变量的大小。

你可能感兴趣的:(linux,C-C++)