deep_c++:c++对象模型

来源:互联网 发布:测试两台服务器网络 编辑:程序博客网 时间:2024/04/30 09:50


class Point  {  public:      Point( float xval );     virtual ~Point();          float x() const;      static int PointCount();protected:      virtual ostream&  print( ostream &os ) const;    float _x;    static int _point_count;  };

所有的非静态数据成员存储在对象本身中。所有的静态数据成员、成员函数(包括静态与非 静态)都置于对象之外。另外,用一张虚函数表(virtual table)存储所有指向虚函数的指 针,并在表头附加上一个该类的type_info对象,在对象中则保存一个指向虚函数表的指 针。如下图:

C++的对象模型

思考type_info的作用是什么?


string str = "aa";

sizeof(str) = 32;   怎么解释???

0 0