摘要: 书中的第二章,主要讲解了 C++中的构造函数。是不是没有构造函数时,编译器都会合成一个默认的?C++的成员变量是不是和 Java 一样都初始化为0?拷贝构造函数做了哪些工作?成员初始化列表到底有没有必要?默认构造函数 按照 C++ standard 的描述,当没有用户申明的 constructor 时,编译器会默认的生成一个。从概念上可以这么理解,但是合成的构造函数也分 trivial 的和 nontrivial 的。一个 trivial 的构造函数,实际上什么工作也没有做,实际上生没生成,也没有太大的区别。但有一点需要记住,不管是生成的哪种构造,data members 都是不会初始化... 阅读全文
posted @ 2014-03-10 21:40 xien7 阅读(303) 评论(0) 推荐(0) 编辑
摘要: c++对象模型 C++的对象模型,就是对 C++的新特性所建立的一个模型。简单点来说,它包括对象的内存布局,以及怎么用这个布局。看书上的一个例子: 1 //C style 2 typedef struct { 3 float x; 4 float y; 5 float z; 6 } Point3D; 7 8 //Point3D对象的 operations 9 Point3D Point3D_constructor(Point3D * const this, float x, float y, float z) {10 this->x = x;11 this-... 阅读全文
posted @ 2014-03-10 21:34 xien7 阅读(315) 评论(0) 推荐(0) 编辑