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