跳转至

ev-spdlog-nullptr-missing-logger-002

字段 值
项目 gabime/spdlog
固定 commit 79524ddd08a4
路径 include/spdlog/details/registry-inl.h
行段 L86-L90
特性 nullptr
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-27
测试代码 否
发现方式 manual

用法

查找失败时返回 nullptr 表示没有对应 logger

为什么典型

共享指针的空值语义明确,调用方用 if 或布尔转换即可判断查找结果。

摘录

SPDLOG_INLINE std::shared_ptr<logger> registry::get(const std::string &logger_name) {
    std::lock_guard<std::mutex> lock(logger_map_mutex_);
    auto found = loggers_.find(logger_name);
    return found == loggers_.end() ? nullptr : found->second;
}

备注

生产路径;注册表查询的未命中分支。

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