美文网首页
C++对象模型

C++对象模型

作者: Matrix101 | 来源:发表于2018-08-09 09:54 被阅读0次

nonstatic data members 被置于每一个class object之内

static data members 被存放到所有的class object之外

static nonstatic function members 被放到所有的class object之外

virtual functions则以两个步骤支持之:

 1.每一个class产出一堆指向virtual functions的指针,放在表格之中,这个表格被称为virtual table(vtbl);

2. 每一个class object被添加了一个指针,指向相关的virtual table,通常这个指针被称为vptr. vptr的设定和重置都由每一个class的constructor、destructor和copy assignment运算符自动完成。每一个class所关联的type_info object也经由virtual table被指出来,通常是放在表格的第一个slot处。

相关文章

网友评论

      本文标题:C++对象模型

      本文链接:https://www.haomeiwen.com/subject/hvtfbftx.html