C++标准库中的boost :: optional替代品

Dmi*_*lov 19 c++ boost std c++11 boost-optional

我试图让我的程序在没有boost使用的情况下工作,但是找不到某些有用模式的替代方案.也就是说,我boost::optional在标准库中找不到-likewise模式.是否有boost::optional(C++ 11或其他地方)的标准替代方案?

pmr*_*pmr 25

简答:不.

答案很长:按照增强规格自行滚动.该文档非常详尽,代码并不复杂,但仍需要高于平均水平的C++技能.

要更新这个答案:遗憾的是C++ 14没有附带std::optional.目前的提案(修订版5)是N3793,预计将作为单独的技术规范发布或成为C++ 17的一部分.

  • 在某些环境中,遗憾的是在政治上不可能使用助推器. (12认同)
  • 您是否考虑过[从boost中提取可选项](http://www.boost.org/doc/libs/1_53_0/tools/bcp/doc/html/index.html)? (3认同)
  • 为什么要试图摆脱提升依赖?哦,让我算一下原因...... (3认同)
  • 更新:[`std::Optional`](https://en.cppreference.com/w/cpp/utility/Optional) 是 C++17 的一部分。 (2认同)

Nov*_*ova 12

目前有一个C++ 14(或C++ 17)的提案.所以答案是(可能)还没有:).

  • 显然它刚被C++ 14投入技术规范(见http://en.cppreference.com/w/cpp/utility/optional):( (4认同)