Files
XCSDD/docs/api/core/smartptr/UniqueRef.md
ssdfasd 58a83f445a fix: improve doc link navigation and tree display
- Fix link resolution with proper relative/absolute path handling
- Improve link styling with underline decoration
- Hide leaf nodes from tree, only show directories
- Fix log file path for packaged app
2026-03-19 12:44:08 +08:00

1015 B

SmartPtr::UniqueRef

template<typename T>
using UniqueRef = std::unique_ptr<T>;

独占所有权的智能指针类型别名。

描述

UniqueRef<T>std::unique_ptr<T> 的类型别名,提供独占所有权的智能指针。每个对象只能有一个 UniqueRef 持有,当 UniqueRef 被销毁时,对象会被自动删除。不能复制,只能移动。

模板参数:

  • T - 被托管对象的类型

复杂度: O(1)

示例:

#include <XCEngine/Core/SmartPtr.h>

class MyClass {
public:
    void DoSomething() { /* ... */ }
};

Core::UniqueRef<MyClass> unique = Core::MakeUnique<MyClass>();

if (unique) {
    unique->DoSomething();
}

// 自定义删除器
Core::UniqueRef<FILE, decltype(&fclose)> 
    file(fopen("test.txt", "r"), &fclose);

// 转移所有权
Core::UniqueRef<MyClass> moved = std::move(unique);

相关文档