
<深度探索c++对象模型>
jiangyi711
这个作者很懒,什么都没留下…
展开
-
读书笔记 《深度探索c++对象模型》 (2)
第三章:data语意学3.4 “继承”与Data Membera) 只要继承不要多态#include #include using namespace std;class Empty {public:};class Concrete1 {public: //...private: int val; char bit1;};class Concrete2 : public Concrete1 {public: //...private原创 2010-07-02 01:00:00 · 538 阅读 · 0 评论 -
读书笔记 《深度探索c++对象模型》 (4)
第五章:构造,解构,拷贝语意学5.2 继承体系下的对象构造a) 虚拟继承如同下面的继承情况:#include #include using namespace std;class Point {public: Point() { printf("Point : constructor/n"); } virtual ~Point() { printf("Point : destructor/n"); }protected: float _x, _y;};原创 2010-07-04 23:32:00 · 528 阅读 · 0 评论 -
读书笔记 《深度探索c++对象模型》 (5)
第六章:执行期语意学6.1 对象的构造和解构a) 全局对象b) 局部静态对象 记住局部静态对象的constructor和destructor只被执行一次。int function() { static int i; //只被初始化一次 i++; return i;}c) 对象数组如果一个class有一个自定义的default constructor,那么类似于Point array[10]; 的时候,一个函数会被调用:void* vec_new( void原创 2010-07-05 04:10:00 · 590 阅读 · 0 评论 -
读书笔记 《深度探索c++对象模型》 (3)
第四章:Function语意学4.2 虚拟成员函数a) 单一继承下的virtual function 一个class只会有一个virtual table。每一个table内含其对应的class object的所有active virtual functions的函数实体地址。包括: 这个class自己定义的virtual function,它override了一个可能存在的base class virtual function函数实体。 继承自base class的函数实体。 一个纯虚函数原创 2010-07-03 04:22:00 · 740 阅读 · 0 评论 -
读书笔记 《深度探索c++对象模型》 (1)
第二章:构造函数语意学2.1 default constructor的构建操作c++标准说:对于class X,如果没有任何程序员声明的构造函数,那么编译器会implicitly(暗中)合成出一个trivial(无能的,没啥用的)构造函数。(备注:global objects的内存在程序激活的时候会被清0。local objects位于程序的堆栈中,heap objects位于自由空间中,都不一定原创 2010-05-14 16:16:00 · 687 阅读 · 0 评论 -
《深度探索C++对象模型》应用 (1)
#include #include using namespace std;class VECTOR3{public: VECTOR3() :x(0.0f),y(0.0f),z(0.0f) { std::cout原创 2010-07-14 03:33:00 · 641 阅读 · 0 评论