C++ unique_ptr笔记

转载于unique_ptr

C++11引入了unique_ptr智能指针,主要用于替代不安全的auto_ptr。
因此 C++11 标准中的 unique_ptr 模板类没有提供拷贝构造函数,只提供了移动构造函数。

std::unique_ptr<int> p1(new int);
std::unique_ptr<int> p2(p1);//错误,堆内存不共享
std::unique_ptr<int> p2(std::move(p1));//正确,调用移动构造函数

对于调用移动构造函数的 p1 和 p2 来说,p2 将获取 p1 所指堆空间的所有权,而 p1 将变成空指针(nullptr)。有没有和auto_ptr的拷贝构造函数很像。

unique_ptr模板类提供的成员方法
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41363459/article/details/115006788
今日推荐