三大函数:拷贝构造,拷贝赋值,析构
任何带有pointer members的类必须有拷贝构造函数和拷贝赋值函数。
拷贝构造:
copy ctor的实现时必须先分配空间,然后再进行拷贝。
拷贝赋值:
先检测自我赋值,然后删除private data,接着分配内存空间,最后拷贝数据。
析构:
堆栈及内存管理
堆,是由操作系统提供的一块全局内存空间,程序可动态分配从中取得若干区块。
栈,是存在于某作用域的一块内存空间。函数本体内声明的任何变量,其所用内存都取自栈。
new:先分配memory,再调用ctor
delete:先调用dtor,再释放memory
注意事项:VC中的动态内存分配
类模板
namespace的使用
可以理解为界定函数、变量的作用域。