# C++ 智能指针 :
# std::auto_ptr<T> (C++ 11 已弃用)
# std::shared_ptr<T> 同一时间能有多个智能指针对象指向引用对象。
# std::unique_ptr<T> 同一时间只能有一个智能指针对象指向引用对象。
可以通过std::move()转移到另一个智能指针对象
# std::make_unique<T>()
返回 std::unique_ptr<T>类型
# std::make_shared<T>()
返回 std::shared_ptr<T>类型
# C++ 对象初始化
# new 初始化
- 使用 new 关键字进行初始化的对象是在堆上分配
- 使用 new 关键字创建的对象返回的是对象地址,必须由一个类指针接收
- 使用 new 关键字创建的对象必须使用 delete 手动清除缓存
# 不使用 new 初始化
1
2int a = new int(1);
int b(1);
不是使用 new 进行初始化的方法上面两种,这种初始化是在栈上分配的,由于栈上内存是系统进行管理,所以会自行对空间进行回收。
### 虚函数
对象中定义的虚函数需要赋值为0,不然会有编译错误