温馨提示×

c++中make_unique的作用是什么

c++
小亿
109
2024-03-28 17:37:58
栏目: 编程语言

在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;
}

0