阅读笔记
文章平均质量分 74
Vast_Sea
这个作者很懒,什么都没留下…
展开
-
读书笔记-Thinking in C++-第11章 引用和拷贝构造函数
From: http://blog.csdn.net/sailor_8318/article/details/2218284 11、引用和拷贝构造函数 11、引用和拷贝构造函数 C++中的指针 C++中的引用 函数中的引用 参数传递的规则 拷贝构造函数 值传递的参数和返回值 何谓拷贝构造? 默认拷贝构造函数 禁止值传递 指向成员的指针 引用是由编译器转载 2012-10-31 10:12:04 · 513 阅读 · 0 评论 -
构造和析构的顺序
当一个对象拥有过多的子对象时,有必要搞明白构造和析构的顺序。 首先初始化基类,然后是自己的成员变量 //: C14:Order.cpp // Constructor/destructor order #include using namespace std; ofstream out("order.out"); #define CLASS(ID) class ID { / p转载 2012-10-31 13:37:03 · 1181 阅读 · 0 评论 -
构造函数和析构函数内部调用虚函数
在构造函数内部调用虚函数 在普通的成员函数中调用虚函数时仍然是在运行时解析虚函数调用,因为此时对象并不知道其是属于成员函数所在的类或者是派生类。但是在构造函数中,虚机制没有作用,只有“本地”的虚函数会被调用,有两个原因: 首先,在构造函数中你只能知道基类对象已经初始化,但不知道谁将继承你,若调用派生类中对应的虚成员函数,则其可能操作尚未初始化的成员; 其次,构造函数首先初始化VPTR,此转载 2012-10-31 15:06:15 · 708 阅读 · 0 评论 -
重载和覆盖--关于virtual
在派生类中重新定义基类的成员函数时将隐藏基类中所有同名的函数。 //: C15:NameHiding2.cpp // Virtual functions restrict overloading #include #include using namespace std; class Base { public: virtual int f() const {转载 2012-10-31 15:35:35 · 781 阅读 · 0 评论 -
指针和引用的upcasting
指针和引用的upcasting 除了在函数调用时编译器可以实现自动转换外,在进行指针或者引用赋值时也可以自动转换。和函数调用一样,这两种情况都不需要显式的强制转换。 Wind w; Instrument* ip = &w; // Upcast Instrument& ir = w; // Upcast 危机 在upcast的时候会失去类型信息,如下编译器只能将ip作为Ins转载 2012-10-31 15:36:59 · 588 阅读 · 0 评论 -
宏和内联inline函数
宏是由由预处理器preprocessor处理的. inline函数是由编译器compiler处理的. 宏 没有类型检测 直接替换 预处理器不能访问类的成员变量,因此不能作为成员函数。 宏没有对于成员访问范围的概念。 内联函数 编译器将函数类型包括函数名、参数个数及其类型还有返回值类型保存在符号表中, 当函数转载 2012-10-31 16:10:42 · 524 阅读 · 0 评论 -
挑选
10、看下例回答以下问题: a. 常量必须初始化,下面的代码有何问题: const int i; i=20; 有,const常量必须在定义的时候同时初始化,否则就违背了其const的性质 b. 常量有没有存储空间,或者只是编译时的符号而已? 不一定。 在C中,define常量是预处理阶段的工作,其不占据内存。但是const常量总是转载 2012-10-31 20:22:44 · 827 阅读 · 0 评论