2 |
const对象大多用于 function()const; |
3 |
如果函数的返回类型是个内置类型,那么改动函数返回值从来就是不合法的,如:ctb[0]='x' 这里的返回operator[] 的返回类型是char 而不是char &纵使合法,返回的也是那个数据的副本。 |
4 |
const int* n 或 int const* n;//被指物是常量 int * const n;//指针是常量 |
5 |
retype function()const //const函数 |
6. |
mutable int num;//即使在const成员函数内也可以改变 |
7 |
const成员函数只能调用const成员函数(C++不允许const成员函数调用非const成员函数,因为非const函数可能会设置或者修改数据成员的值)const对象只能调用const成员函数,也是同理。但const成员函数的调用者可以是const的也可以是非const的。 |
8 |
在构造函数本体内对成员变量是进行赋值操作,而成员初值列则是初始化 // 初始化的效率比较快 内置类型的初始化和赋值成本是一样的.先父类的,然后class的成员变量总是以其声明次序被初始化 |
9 |
相同class的object的互为friend |
10 |
带有指针的类需要自己写copy构造函数、赋值构造函数、析构函数。不带的指针的类的,编译器会自动给出这些函数。若是编译器的给的构造或者赋值函数,会造成内存泄漏而且指针指的是同一个地址的东西。
|
11指针赋值函数 |
指针赋值构造函数,防止自我赋值
|
12output函数 |
output函数必须是全局函数,包括是友元函数,不能是成员函数
|
13 |
stack即存在于某作用域的一块内存。 而heap是全局内存空间,动态分配new和delete是成对出现的。 static成员是全局的。 |
14static |
类里面隐含this指针,static函数不没有隐含this指针(static函数处理 static变量)
|
15单一类 |
单一类
|
16 |
继承类中,父类的析构函数必须是virtual |
17虚函数 |
这里调用了子类的virtual Serialize函数
|
18构造函数 |
|
19转换函数 |
先找+操作符有没有重载 |
20智能指针 |
|
21仿函数 |
|
22成员模板 |
|
23特化 |
|
24 模板模板参数 |
|
25多模板参数 |
|
26迭代 |
|