跳转至

ev-spdlog-init-list-sinks-001

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

用法

用 initializer_list 作为构造参数,让单 sink 重载委托到列表重载

为什么典型

单 sink 构造函数把参数写成花括号列表,再委托给接受 initializer_list 的重载;调用方既能传单个 sink,也能直接传列表,两个入口共用同一段初始化逻辑。

摘录

    // Logger with single sink
    logger(std::string name, sink_ptr single_sink)
        : logger(std::move(name), {std::move(single_sink)}) {}

    // Logger with sinks init list
    logger(std::string name, sinks_init_list sinks)
        : logger(std::move(name), sinks.begin(), sinks.end()) {}

备注

生产头文件;sinks_init_list 是 std::initializer_list 的别名,条目正文引用了该别名定义。

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