类和对象--编译器对类对象的处理机制
1 编译器对类对象的处理机制
C++类对象中的成员变量和成员函数是分开存储的
- 成员变量
1 普通成员变量:存储在对象中,与struct变量有相同的内存布局和对齐方式。
2 静态成员变量:存储在全局数据区中。 - 成员函数:存储在代码段中。
2 编译器对类对象的处理机制总结
- C++类对象中的成员变量和成员函数是分开存储的。C语言中的内存四区模型仍然有效。
- C++中类的普通成员函数都隐式包含一个指向当前对象的this指针。
- 只有非静态成员变量属于类对象上。静态成员函数和静态成员变量属于类。
- 空类的sizeof结果1
- 静态成员函数与普通成员函数的区别
1 静态成员函数不包含指向具体对象的指针
2 普通成员函数包含一个指向具体对象的指针