深入探索C++对象模型
文章平均质量分 90
walkerkalr
学无止境,梦想不止
展开
-
深度探索C++对象模型:5.构造、析构、拷贝语意学
第五章:构造、析构、拷贝语意学考虑下面这个abstract base class声明:class Abstract_base{public: virtual ~Abstract_base() = 0; virtual void interface() const =0; virtual const char* mumble()原创 2014-01-10 11:36:48 · 1297 阅读 · 0 评论 -
深度探索C++对象模型 2构造函数语意学
第二章 构造函数语意学本章大量出现的英语术语:trivial: 没有用的nontrivial: 有用的memberwise: 对每一个member施以…bitwise: 对每一个bit施以…named return value optimization (NRV) 2.1Default Constructor的构造操作对于一个类,如果没有任何构造函数的声明,那么原创 2014-01-03 15:52:21 · 1187 阅读 · 0 评论 -
深度探索C++对象模型:4.Function语意学
第四章: Function语意学Nonstatic Member Functions(非静态成员函数)Point3d obj;Point3d *ptr = &obj;Point3d Point3d::normalize() const{ register float mag =magnitude(); Point3d normal; norm原创 2014-01-07 13:27:11 · 1050 阅读 · 0 评论 -
深度探索C++对象模型 3Data语意学
第三章 Data语意学已知如下程序:#includeusing namespace std;class X{};class Y: public virtual X{};class Z: public virtual X{};class A: public Y,public Z{}; int main(){ cout sizeof(X)原创 2014-01-03 19:00:51 · 1144 阅读 · 0 评论 -
深度探索C++对象模型 1
第一章:关于对象 加上封装后的布局:如果C++class和C struct含有相同数据成员,那么C++class并没有增加成本。因为,C++ class中的成员函数不出现在object中(non-inline 成员函数只会诞生一个实例,而inline函数则会在调用该C++ Class的文件模块中产生一个实例),所以C++支持的封装性质并未带来任何空间或执行期的不良后果。 C++原创 2013-12-23 13:50:58 · 1157 阅读 · 0 评论 -
深度探索C++对象模型:6.执行期语意学
第6章:执行期语意学想象一下我们有下面这个简单的式子:if(yy ==xx.getValue( ))...其中xx和yy定义为:X xx;Y yy;Class Y定义为:Class Y{Public:Y( );~Y( );Bool operator==(const Y&) const;//...};Class X定义为:Class X{原创 2014-01-11 20:23:58 · 1314 阅读 · 0 评论 -
类对象内存布局,虚函数,虚拟继承和多重继承的实现
转载请注明出处:http://blog.csdn.net/walkerkalr,谢谢合作!如需源代码,请留邮箱地址。类对象内存布局,虚函数,虚拟继承和多重继承的实现机制1. 无继承关系的类2. 单一继承2.1单层继承2.2多重继承3. 多重继承一.无继承关系的类已知A类与B类,A类代表无虚函数的类,B类代表有原创 2014-01-27 20:35:32 · 2016 阅读 · 0 评论