ev-abseil-noexcept-move-003¶
| 字段 | 值 |
|---|---|
| 项目 | abseil/abseil-cpp |
| 固定 commit | 2065f4ded055 |
| 路径 | absl/status/status.h |
| 行段 | L496-L500 |
| 特性 | noexcept 异常说明 |
| 许可证 | Apache-2.0 |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-11-04 |
| 测试代码 | 否 |
| 发现方式 | manual |
用法¶
移动构造与移动赋值声明 noexcept
为什么典型¶
Status 的移动操作只转移内部表示,不分配、不抛异常;显式 noexcept 让标准容器在扩容时优先选择移动而非复制。
摘录¶
// Move operators
// The moved-from state is valid but unspecified.
Status(Status&&) noexcept;
Status& operator=(Status&&) noexcept;
备注¶
生产头文件;声明与实现分离,实现处同样带 noexcept,条目正文举例说明其对容器扩容的影响。