首页  >  文章  >  后端开发  >  为什么 `std::Optional` 缺乏引用类型的专业化?

为什么 `std::Optional` 缺乏引用类型的专业化?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-26 18:54:02181浏览

Why Does `std::optional` Lack Specialization for Reference Types?

std::可选中缺少引用类型的专业化:探索性讨论

std::可选,C 的一个组成部分标准库提供了一种有效的机制来表示可为空值。然而,与 Boost 库中的对应项不同,std::Optional 缺乏对引用类型的专门化。这就提出了一个问题:为什么?

std::Optional 中缺乏对引用类型的专门处理一直是一个争论的话题。最初是作为 N3406 的一部分提出的,后来决定将可选值作为独立提案 (N3527) 来追求,以提高将其包含在 C 14 中的机会。

虽然从 std: 中省略参考专业化的原因是:可选性没有明确说明,据推测委员会成员的担忧影响了该决定。尽管如此,未来解决这一方面的提案的大门仍然敞开。

尽管缺乏针对引用类型的专门专业化,但标准库确实提供了替代解决方案。例如,std::reference_wrapper 提供了一个引用容器,从而实现了可为空引用的表示。

以上是为什么 `std::Optional` 缺乏引用类型的专业化?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn