#include <memory>
#include <iostream>
int main() {
// 使用 make_unique 创建一个唯一的 int 智能指针
auto unique_ptr = std::make_unique<int>(10);
// 输出智能指针指向的值
std::cout << "Value: " << *unique_ptr << std::endl;
// 使用 make_unique 创建一个唯一的自定义类对象
class MyClass {
public:
MyClass(int value) : value(value) {}
void print() const { std::cout << "MyClass value: " << value << std::endl; }
private:
int value;
};
auto my_class_ptr = std::make_unique<MyClass>(20);
my_class_ptr->print();
return 0;
}
std::make_unique
是 C++14 引入的一个工具函数,用于创建 std::unique_ptr
。它简化了 std::unique_ptr
的创建过程,并且避免了潜在的资源泄漏问题。std::make_unique<int>(10)
创建了一个唯一的 int
智能指针,并输出其指向的值。MyClass
,并使用 std::make_unique<MyClass>(20)
创建了一个唯一的 MyClass
对象智能指针,然后调用其成员函数 print
输出类中的值。通过这种方式,可以更安全、简洁地管理动态分配的对象。
上一篇:c++位运算符
下一篇:c++ uint8_t
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站