您的位置:首页 > 编程语言 > C语言/C++

阅读笔记-深度搜索C++模型(持续更新)

2015-01-02 12:25 239 查看
第一章
关于对象

类中定了些啥?其中哪些会放到类的对象中?虚拟继承是干啥用的?看一个函数,会被编译器可能扩展成啥样?策略性的struct在class中哪些操作不再适用?

class X定义了一个copy constructor,一个virtual destructor和一个virtual function foo:

X footbar()
{
X xx;
X *px = new X;

// foo()是一个virtual function
xx.foo();
px->foo();

delete px;
return xx;
}


第二章
构造函数语义学

1. 一个类如果没有定义default constructor,就会合成一个吗?合成出来的default constructor会明确设定“class内每一个data member的默认值”吗?

2. default copy constructor什么情况夏不是bitwise copy?

3. NRV是啥?

4. 下面这个类需要定义拷贝构造吗?

5. 什么时候一定要用成员初始化列表?

6. 哪种情况,使用初始化成员列表能优化代码?

7. 初始化成员列表顺序的问题?

第三章
Data语义学

1. 影响内存布局的原因有哪些?

2. 普通data member和静态data member的存取有什么区别?

3. origin.x = 0.0; 与 pt->x = 0.0;有什么区别(orgin是一个Point3d对象,pt是一个指向Point3d指针)?

4. origin.fun(); 与 pt->fun(); 有什么区别?

5. VC的虚函数指针在哪个位置,如果一个父类没有虚函数,但是子类有虚函数。父类指针指向一个子类对象,指针会指向哪里?首地址吗?虚指针的位置吗?

第四章
Function语义学

1.编译器会对non-static member functoin默默的做了哪些事情?

2. mangling大约会怎么做?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: