cpp中的智能指针
unique_ptr
unique_ptr
独享它指向的对象,也就是说,同时只有一个unique_ptr
指向同一个对象,当这个unique_ptr
被销毁时,指向的对象随即也被销毁。
初始化
假设有一个class A{};
这里要用自定义的数据类型,是因为cpp中默认数据类型没有析构函数,无法提现智能指针的作用。
因为new
出来的对象一定要手动delete
才会调用析构函数,用智能指针可以避免这一点。
方法一:
1 |
|
方法二:(推荐)
1 |
|
方法三:(不推荐)
1 |
|
使用要点
unique_ptr
禁用了拷贝构造函数,不能直接赋值、拷贝构造,等等
get()
方法可以返回裸指针
智能指针就是类,类中有一个指针,管理着原始指针
作为函数的参数的时候,不能传值,只能传引用,因为没有拷贝构造函数。
1 |
|
cpp中的智能指针
http://example.com/2025/08/10/2025-8-10 cpp中的智能指针/