正常
CppCon2025
The Evolution of std::optional: From Boost to C++26
Steve Downey
这是 CppCon 2025 上 Steve Downey(Bloomberg)的演讲笔记。他是把 std::optional<T&> 推进 C++26 的提案 P2988 的主要作者。这场演讲的核心是回答一个问题:一个看起来"不就是能装空值的引用嘛"的特性,为什么从 2005 年第一次提出,一直拖到 2025 年 6 月的 Sofia 会议才投票通过。答案绕不开引用在 C++ 里的三重身份、assign-through 和 rebind 的二十年之争,以及最终"它就是个带约束的指针"这个结论。
笔记拆成六篇,沿着"先讲值版本底子,再进引用版本核心,最后跳出来看标准化"的顺序展开。所有涉及 optional<T&> 的代码都在 GCC 16.1.1(-std=c++26)上实跑过,不是纸上谈兵。