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

时间:2012-01-15 14:03:14

标签: c++ c++11 boost std boost-optional

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

3 个答案:

答案 0 :(得分:25)

简短回答:不。

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

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

答案 1 :(得分:12)

目前有a proposal for C++14(或C ++ 17)。所以答案是(可能)尚未:)。

答案 2 :(得分:1)

pmr explained一样,现在不可能,直到C ++ 17结束才会出现。

但是,您应该可以在github上使用此single header library作为替换boost-或std可选项的替代。它没有依赖关系(除了支持c ++ 11 / c ++ 14的编译器)。