![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++/STL
quanx_sun
这个作者很懒,什么都没留下…
展开
-
C++ 多继承和虚继承的内存布局
C++ 多继承和虚继承的内存布局 警告. 本文有点技术难度,需要读者了解C++和一些汇编语言知识。 在本文中,我们解释由gcc编译器实现多继承和虚继承的对象的布局。虽然在理想的C++程序中不需要知道这些编译器内部细节,但不幸的是多重继承(特别是虚拟继承)的实现方式有各种各样的不太明确的结论(尤其是,关于向下转型指针,使用指向指针的指针,还有虚拟基类的构造方法的调用命令)。 如果你了解多转载 2015-06-05 20:37:49 · 390 阅读 · 0 评论 -
深入理解C++中public、protected及private用法
转载自:http://www.jb51.net/article/54224.htm 这篇文章主要介绍了C++中public、protected及private用法,对于C++面向对象程序设计来说是非常重要的概念,需要的朋友可以参考下 初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂。今天本文就来十分分析一转载 2015-06-07 12:36:03 · 421 阅读 · 0 评论 -
C++构造函数为什么不能是虚函数
首先明确,如果一个类当中拥有函数声明为虚函数,那么这个类拥有一个vtable,也就是虚函数表用于存放这些虚函数的地址,这个类生成的对象中保存一个vptr,它指向这个类的vtable。 那么构造函数是在建立对象的时候,在栈里面申请一段区间用于存放对象中的内容(包括vptr和数据内容),拥有这个vptr之后,才能找到虚函数的物理存储空间,所以如果构造函数是虚函数,那么根本找不到具体实现的原创 2015-06-10 11:01:49 · 385 阅读 · 0 评论