首页 > 编程语言 > 详细

c++内存模型,变量和函数

时间:2018-10-17 13:48:04      阅读:159      评论:0      收藏:0      [点我收藏+]
1、c++中方法 存储在单独的方法表中,fuction——table,类中有方法指针来指向方法表中方法的实际地址,static和nonstatic 方法都存储在方法表中。
2、c++中类的对象的 成员变量存在class中,static 变量存储在class之外。
 
3、c++的成员指针式类似slot 插槽式设计,很容易计算class的大小。
4、每个class 产生一堆指向vitrul fuction的指针,这些指针放在一个表中,称为virtual table(vtbl)。
 
5、c++中对象直接赋值,实际上发生的是copy构造 例如:Animals 是父类,Dog是子类,
        Dog d;
        Animals ani=d;
            ani实际访问到的其实还是ani能访问的 ani初期编译能访问到的函数和变量,它并不是一个d对象。好绕口,好难讲清楚。
6、c++通过指针和引用类型来实现多态,也就是只有再指针类型和引用类型下能发生多态;;主要靠virtual 来实现多态,virtual function,virtual table。

c++内存模型,变量和函数

原文:https://www.cnblogs.com/qcjd/p/9803111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!