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