问题:探索 std::Optional 中引用类型特化的缺失
在标准 C 中, std::Optional 提供了一个容器保存一个值或指示它不存在。然而,与 Boost 中的对应项不同,std::Optional 缺乏引用类型的专业化,这给用户留下了一个问题:为什么?本文深入探讨了这一设计决策背后的原因,并探讨了标准库中可用的替代选项来处理对可选值的引用。
答案:解决问题和未来前景
在关于可选值的初始提案 (n3406) 期间,委员会成员对可选参考提出了担忧。随后,在n3527中,作者提出将可选引用分离成辅助提案,以提高可选值被采用的机会。
虽然可选引用由于其他因素没有被包含在C 14中,但并没有被拒绝委员会。如果提交提案,则有可能将可选引用合并到未来的 C 标准中。
引用可选值的替代方案
尽管没有 std::对于引用类型的可选专业化,标准库确实提供了引用可选值的替代方法:
总之,缺乏引用类型专业化std::Optional 源于提案过程中的担忧。然而,委员会仍然愿意考虑未来的可选参考资料。此外,标准库还提供了 std::reference_wrapper<:optional>> 。作为过渡期间引用可选值的替代方法。
以上是为什么 `std::Optional` 缺乏引用类型专业化?的详细内容。更多信息请关注PHP中文网其他相关文章!