make_unique
时间: 2023-06-22 08:25:35 浏览: 97
UNIQUE
`make_unique` 是一个 C++11 标准库中的函数模板,可以用来创建一个动态分配的对象并返回其指针,同时保证在函数结束时自动释放内存。它的语法如下:
```cpp
template <typename T, typename... Args>
std::unique_ptr<T> make_unique(Args&&... args);
```
其中,`T` 是要创建的对象类型,`Args` 是构造函数的参数类型。使用时,可以直接将要创建的对象的类型和构造函数参数传递给 `make_unique`,该函数会返回一个 `unique_ptr` 智能指针,该指针指向一个动态分配的对象。
例如:
```cpp
auto ptr = std::make_unique<int>(42);
```
这将创建一个 `int` 类型的对象,其值为 42,并返回一个指向该对象的 `unique_ptr` 智能指针。在函数结束时,该指针会自动释放所分配的内存。
阅读全文