1.Big Three(三个特殊函数):
(1)拷贝构造函数
(2)拷贝赋值函数(先检查是否自我赋值)
(3)析构函数
需自己写以完成深拷贝,直接采用编辑器的是浅拷贝,存在内存泄漏及被修改的风险
2.堆(heap)与栈(stack)
stack存在于某作用域内一块内存空间
heap由操作系统提供全局内存空间
stack objects生命期为作用域
static local objects生命直到程序结束
global objects生命直到程序结束,可视为一种static object
heap objects生命在被deleted之际结束
3.new与delete
new:先分配memory,再调用ctor(构造函数)
delete:先调用dtor(析构函数),再释放memory
array new一定要搭配array delete
网友评论