租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

c++中make_unique的有哪些作用,c++ makeshared

发布时间:2024-03-28 17:37:58

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