本笔记为GeekBand C++面向对象高级编程(上)第二周课程之总结。
一、三大函数
从string类入手,讲解Class with pointer members中3个特殊函数:
- 拷贝构造函数
- 析构函数
- 拷贝赋值函数
任何带有pointer members的类必须有拷贝构造函数和拷贝赋值函数。
1.1 拷贝构造函数
copy ctor的实现时必须先分配空间,然后再进行拷贝。
1.2 拷贝赋值函数
必须先检测自我赋值,然后分三步进行
- 删除private data
- 分配内存空间
- 拷贝数据
二、堆栈以及内存管理
栈,是存在于某作用域的一块内存空间。函数本体内声明的任何变量,其所用内存都取自栈。
堆,是由操作系统提供的一块全局内存空间,程序可动态分配从中取得若干区块。
注意事项:VC中的动态内存分配
三、类模板
template<typeneme T>
class complex
{
piblic:
...
private:
...
};
四、namespace的使用
可以理解为界定函数、变量的作用域。