在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。