跳转至

ev-abseil-ctad-cleanup-002

字段 值
项目 abseil/abseil-cpp
固定 commit 2065f4ded055
路径 absl/cleanup/cleanup.h
行段 L120-L124
特性 类模板实参推导(CTAD)
许可证 Apache-2.0
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-26
测试代码 否
发现方式 regex

用法

为作用域清理类型提供 C++17 推导指引

为什么典型

清理回调的类型只在构造时确定;推导指引让 absl::Cleanup c = callback 这种写法成立,同时保留 C++11 的 MakeCleanup 工厂作为回退。

摘录

// `absl::Cleanup c = /* callback */;`
//
// C++17 type deduction API for creating an instance of `absl::Cleanup`
template <typename Callback>
Cleanup(Callback callback) -> Cleanup<cleanup_internal::Tag, Callback>;

备注

生产路径;推导指引与旧工厂函数并存,方便不同标准下的调用方。

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