Files
XCEngine/docs/api/core/refcounted/Release.md

47 lines
875 B
Markdown
Raw Normal View History

# RefCounted::Release
```cpp
void Release();
```
2026-03-20 02:35:07 +08:00
原子地减少引用计数。
**描述**
原子地减少引用计数。当引用计数归零时,对象会自动 `delete this`。这是实现自动内存管理的关键方法。
2026-03-20 02:35:07 +08:00
**线程安全:** ✅
**复杂度:** O(1)
**示例:**
```cpp
#include <XCEngine/Core/RefCounted.h>
2026-03-20 02:35:07 +08:00
#include <cstdio>
2026-03-20 02:35:07 +08:00
class MyObject : public XCEngine::Core::RefCounted {
public:
2026-03-20 02:35:07 +08:00
void DoSomething() { }
};
2026-03-20 02:35:07 +08:00
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;
}
```
## 相关文档
- [RefCounted 总览](refcounted.md) - 返回类总览
- [AddRef](AddRef.md) - 增加引用计数