在C++11中,make_unique是一个工厂函数,用于创建并返回一个std::unique_ptr对象,该对象管理一个动态分配的对象。make_unique可以避免手动调用new和delete操作,从而避免内存泄漏和错误。
使用make_unique可以使代码更加简洁和安全,因为make_unique能够自动推导对象的类型,并且在分配内存失败时会抛出std::bad_alloc异常。同时,make_unique也遵循了RAII(资源获取即初始化)原则,可以确保在对象离开作用域时会自动释放分配的内存。
示例代码:
```cpp
#include
int main() {
// 使用make_unique创建一个int类型的对象
auto ptr = std::make_unique
// 使用make_unique创建一个数组类型的对象
auto arr = std::make_unique
return 0;
}
```