21

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

4

3 回答 3

26

简短的回答:没有。

长答案:根据提升规格自行滚动。文档非常详尽,代码也没有那么复杂,但这仍然需要高于平均水平的 C++ 技能。

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

于 2012-01-15T14:38:41.393 回答
12

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

于 2012-11-09T13:00:05.410 回答
1

就像pmr 解释的那样,现在是不可能的,直到 C++17 出来才可能。

但是,您应该能够使用 github 上的这个单一头文件库来替代 boost- 或 std 可选。它没有依赖项(除了支持 c++11/c++14 的编译器)。

于 2015-07-30T15:23:08.747 回答