在C++中,make_unique是一个模板函数,用于动态分配内存并返回一个智能指针,指向由该内存分配的对象。使用make_unique可以避免手动管理内存分配和释放的麻烦,同时确保在函数返回时自动释放内存,从而避免内存泄漏。
make_unique的用法如下所示:
#include <memory>
int main() {
// 创建一个名为ptr的智能指针,指向一个动态分配的int类型对象,值为10
auto ptr = std::make_unique<int>(10);
// 使用智能指针访问对象的值
std::cout << *ptr << std::endl;
return 0;
}
在上面的例子中,使用make_unique创建了一个指向int类型对象的智能指针ptr,并将其初始化为值为10。通过使用智能指针,可以方便地访问对象的值,并且在程序执行完毕时会自动释放内存,无需手动调用delete。