【发布时间】:2014-11-08 18:37:38
【问题描述】:
我需要为可选值实施快速解决方案。我不想拖入任何第三方库。
可选类一般是如何实现的?当一个可选对象处于“空状态”时,它是否仍然默认构造底层对象?
【问题讨论】:
-
你研究过Boost.Optional的实现吗?
-
C++ 标准库不是第三方库。我想你还不想开始使用 C++14?
-
@E_net4 我的编译器还不支持。
-
剪切/粘贴 boost::optional
-
基本上来说,Boost.Optional(正如 Angew 所建议的)最终被接受为 std::optional。因此,如果您背负着旧(er)编译器的负担,那么 Boost.Optional 就是您要走的路。 (类似于 Boost.smart_ptr 和 std::shared_ptr。)我理解对第三方库的不情愿,但没有 Boost 的 C++ 势必会重新发明久经考验的轮子。
标签: c++