c++ std::unique_ptr使用笔记
std::unique_ptr 是 C++ 标准库中的智能指针,用于管理动态分配的内存。与
std::shared_ptr 不同,
std::unique_ptr 独占资源的所有权,不能共享。它通过 RAII(资源获取即初始化)机制确保资源在不再需要时自动释放。以下是
std::unique_ptr 的简单使用方法:
1. 基本用法
#include <iostream>
#include <memory> // 包含 unique_ptr 的头文件
int main() {
// 创建一个 unique_ptr,指向一个动态分配的 int 对象
std::unique_ptr<int> ptr1(new int(42));
// 使用 unique_ptr 访问数据
std::cout << "Value: " << *ptr1 << std::endl;
// unique_ptr 离开作用域后,资源会自动释放
return 0;
}
2. 使用 std::make_unique 创建 unique_ptr
C++14 引入了 std::make_unique,是创建 unique_ptr 的推荐方式。
#include <iostream>
#include <memory>
int main() {
// 使用 make_unique 创建 unique_ptr
auto ptr = std::make_unique<int>(100);
std::cout << "Value: " << *ptr << std::endl;
return 0;
}
3. 转移所有权
std::unique_ptr 不能复制,但可以通过 std::move 转移所有权。
#include <iostream>
#include

最低0.47元/天 解锁文章
375

被折叠的 条评论
为什么被折叠?



