C 中的可选:为什么没有对引用类型进行专门化?
尽管在像 Boost 这样的库中存在对引用类型的专门化,C标准库的 std::Optional 不提供这样的功能。这一决定引发了对其理由和潜在替代机制的询问。
遗漏背后的理由
在讨论 n3406(可选提案)期间,有人提出了担忧关于包含可选参考文献。认识到这些反对意见,n3527 的作者将可选引用分成辅助提案,以提高接受标准可选值的可能性。虽然由于不相关的因素,可选最终没有包含在 C 14 中,但委员会不赞成可选引用并不是问题。
当前替代方案
尽管 std::optional不提供引用类型的专门化,标准库缺少提供“对可能存在的对象的引用”语义的等效构造。这可能会让开发人员寻求替代方案:
未来考虑因素
虽然可选引用目前不存在于C标准库,委员会不排除将来将其纳入。如果提交正式提案,决定最终将取决于委员会对拟议功能优点的评估。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3