# RefCounted **命名空间**: `XCEngine::Core` **类型**: `class` **描述**: 引用计数基类,提供线程安全的引用计数生命周期管理。 ## 概述 `RefCounted` 是一个简单的引用计数基类。当引用计数归零时,对象会自动删除。它提供了 `AddRef` 和 `Release` 方法,线程安全地管理引用计数。 ## 公共方法 ### 构造/析构 | 方法 | 描述 | |------|------| | `RefCounted()` | 构造函数,初始引用计数为 1 | | `protected virtual ~RefCounted()` | 虚析构函数(受保护,不允许直接删除) | ### 引用计数 | 方法 | 描述 | |------|------| | `void AddRef()` | 增加引用计数 | | `void Release()` | 减少引用计数(归零时自动 delete this) | | `uint32_t GetRefCount() const` | 获取当前引用计数 | ## 方法列表 | 方法 | 描述 | |------|------| | [AddRef](AddRef.md) | 增加引用计数 | | [Release](Release.md) | 减少引用计数 | | [GetRefCount](GetRefCount.md) | 获取当前引用计数 | ## 使用示例 ```cpp class MyObject : public RefCounted { public: MyObject() { /* ... */ } ~MyObject() { /* ... */ } void DoSomething() { /* ... */ } }; // 使用 MyObject* obj = new MyObject(); // refCount = 1 obj->AddRef(); // refCount = 2 obj->Release(); // refCount = 1 obj->Release(); // refCount = 0, 自动 delete ``` ## 相关文档 - [Core 模块总览](../core.md) - 返回模块总览 - [SmartPtr](../smartptr/smartptr.md) - 智能指针