跳转至

ev-spdlog-lambda-registry-001

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

用法

用捕获 this 的 lambda 把刷新动作交给周期任务

为什么典型

lambda 把成员调用包装成无参可调用对象,避免为一次性回调声明具名函数或仿函数。

摘录

    template <typename Rep, typename Period>
    void flush_every(std::chrono::duration<Rep, Period> interval) {
        std::lock_guard<std::mutex> lock(flusher_mutex_);
        auto clbk = [this]() { this->flush_all(); };
        periodic_flusher_ = details::make_unique<periodic_worker>(clbk, interval);
    }

备注

生产路径;捕获 this 后转为 std::function 存入 periodic_worker。

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