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