跳转至

ev-spdlog-unordered-map-registry-001

字段 值
项目 gabime/spdlog
固定 commit 79524ddd08a4
路径 include/spdlog/details/registry.h
行段 L111-L113
特性 std::unordered_map
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-11-03
测试代码 否
发现方式 manual

用法

用 unordered_map 按名称索引 logger,平均常数时间查找且不要求键有序

为什么典型

注册表只关心按名字取回 logger,不需要有序遍历;哈希表让每次日志查找保持均摊 O(1),键值语义清晰。

摘录

    std::mutex logger_map_mutex_, flusher_mutex_;
    std::recursive_mutex tp_mutex_;
    std::unordered_map<std::string, std::shared_ptr<logger>> loggers_;

备注

生产路径;注册表以 logger 名称为键,unordered_map 是名称到对象映射的标准选择。

查看固定 commit 源码 · 返回证据索引