# SmartPtr::MakeUnique ```cpp template UniqueRef MakeUnique(Args&&... args); ``` 创建独占指针的工厂函数。 **描述** `MakeUnique` 是创建 `UniqueRef` 的工厂函数,使用完美转发将参数传递给 `T` 的构造函数。相比直接使用 `std::make_unique`,代码更简洁。 **模板参数:** - `T` - 被创建对象的类型 - `Args` - 构造函数的参数类型 **参数:** - `args` - 转发给 T 构造函数的参数 **返回:** `UniqueRef` - 新创建的独占指针 **复杂度:** O(1) **示例:** ```cpp #include class MyClass { public: MyClass(int value) : m_value(value) {} int GetValue() const { return m_value; } private: int m_value; }; // 创建独占指针 Core::UniqueRef unique = Core::MakeUnique(42); printf("Value: %d\n", unique->GetValue()); // 转移所有权 Core::UniqueRef moved = Core::MakeUnique(100); ``` ## 相关文档 - [SmartPtr 总览](smartptr.md) - 返回类总览 - [UniqueRef](UniqueRef.md) - UniqueRef 类型说明