1 单一对象内存结构
1.1 普通C++对象内存结构
class CObject { private: int mv1; long long mv2; char mv3; public: int GetValue1() const; void SetValue1(int val); };
普通C++对象与C中的struct等价,成员按顺序排列,并以8字节对齐(不同环境编译器有差异)。 普通成员函数作为独立函数符号存在,并不会存储在对象数据结构中。
1.2 带虚方法的C++对象内存结构
class CObject2 { private: private: int mv1; long long mv2; char mv3; public: virtual ~CObject2(); virtual long long GetValue2() const; virtual void SetValue2(); };