Files
XCEngine/docs/api/core/event/Unsubscribe.md
ssdfasd de4086dbfe docs: Fix core module documentation discrepancies
Fixed the following issues in XCEngine Core module documentation:
- Added 'using namespace XCEngine::Core;' to all code examples that use
  Core types (Event, FileWriter, etc.) without full namespace qualification
- Added missing '#include <XCEngine/Containers/String.h>' to FileWriter
  examples that use Containers::String
- Added '#include <string>' to Flush.md example using std::to_string

Affected files:
- core/core.md: Added using directive and Containers include
- event/*.md: Added using namespace to all 8 event doc files
- filewriter/*.md: Added using namespace and proper includes to all 6 files
2026-03-19 01:04:30 +08:00

861 B

Event::Unsubscribe

void Unsubscribe(uint64_t id);

退订事件。

描述

将指定 ID 的回调从订阅列表中移除。退订是延迟生效的,在调用 Invoke 时会一并处理待退订的回调。线程安全,可在任意线程调用。

参数:

  • id - 订阅时返回的 ID

复杂度: O(n) 在 Invoke 时处理

示例:

#include <XCEngine/Core/Event.h>

using namespace XCEngine::Core;

Event<int> someEvent;

// 订阅
uint64_t id = someEvent.Subscribe([](int value) {
    printf("Value: %d\n", value);
});

// 退订
someEvent.Unsubscribe(id);

// 触发(已退订的回调不会被调用)
someEvent.Invoke(42);

相关文档