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>;
备注¶
生产路径;推导指引与旧工厂函数并存,方便不同标准下的调用方。