在C++11中,make_unique是一個工廠函數,用于創建并返回一個std::unique_ptr對象,該對象管理一個動態分配的對象。make_unique可以避免手動調用new和delete操作,從而避免內存泄漏和錯誤。
使用make_unique可以使代碼更加簡潔和安全,因為make_unique能夠自動推導對象的類型,并且在分配內存失敗時會拋出std::bad_alloc異常。同時,make_unique也遵循了RAII(資源獲取即初始化)原則,可以確保在對象離開作用域時會自動釋放分配的內存。
示例代碼:
```cpp
#include
int main() {
// 使用make_unique創建一個int類型的對象
auto ptr = std::make_unique
// 使用make_unique創建一個數組類型的對象
auto arr = std::make_unique
return 0;
}
```