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