boost-optional相关内容

引用类型的 std::optional 特化

为什么std::optional(目前libc++中的std::experimental::optional)没有引用类型的特化(与 boost::optional 相比)? 我认为这将是非常有用的选择. 在STL中是否有一些对象引用可能已经存在的对象语义? 解决方案 When n3406(提案的第 2 修订版)进行了讨论,一些委员会成员对可选的参考资料感到不舒服.在 n352 ..
发布时间:2022-01-07 11:21:51 C/C++开发

何时使用 boost::optional 以及何时使用 std::unique_ptr 在您想要实现一个可以返回“无"的函数的情况下?

据我所知,有 2* 种方法可以实现有时不返回结果的函数(例如在 ppl 列表中找到的人). *- 我们忽略原始 ptr 版本,与 bool 标志配对,并在找不到版本时出现异常. boost::optionalfindPersonInList(); 或 std::unique_ptrfindPersonInList(); 那么有什么理由更喜欢一个吗? 解决方案 这取决于:您希望 ..
发布时间:2021-12-24 15:30:20 C/C++开发

具有类型规范的boost :: make_optional

与模板规范一起使用时, boost :: make_optional()行为令我感到困惑. 尤其是,我仍然不清楚为什么会这样: int pizza = 5;boost :: optionalpizza_opt = boost :: make_optional(披萨) 引发编译错误无法将类型为'int&&'的右值引用绑定到类型为'int'的左值;而这: in ..
发布时间:2021-04-15 20:54:29 C/C++开发

包括boost / optional.hpp时的C2143语法错误

我遇到了一个我无法理解的编译时错误。我尝试在我的代码中使用 boost :: optional ,并且一旦我包括 boost / optional.hpp I不能再建立我的项目了。如果我评论这个包括语句出来,它的工作原理。我甚至没有任何实际使用 boost :: optional 在我的代码中,只是类头中的include语句(见下面的完整标题)。编译器错误是 C2143语法错误:在另一个Boost ..
发布时间:2016-11-03 00:02:22 C/C++开发

应该如何使用std :: optional?

我正在阅读 std :: experimental :: optional ,并且我对它的功能有一个好的想法,但是我不明白何时应该使用它或如何使用它。网站不包含任何例子,因为它让我更难掌握这个对象的真正概念。当 std :: optional 是一个好的选择使用,以及如何补偿在以前的标准(C ++ 11)中没有找到的 解决方案 我可以想到的最简单的例子: std :: option ..
发布时间:2016-10-14 22:53:54 C/C++开发

如何划分的boost ::可选<双&GT ;?

我有这样的code: 的boost ::可选<双>结果= _ind1.Value()/ _ind2.Value(); 每个arg是的boost ::可选<双> 太:的boost ::可选<双>值(){ 返回值; } 错误是: 错误1错误C2676:二进制'/':'的boost ::可选< T>'不定义此运算符或转换到类型接受的pr ..
发布时间:2016-08-12 18:37:29 C/C++开发

推动::可选不是让我重新分配常量的值类型

在我看来,应该有四个变量的boost ::可选的 可选<富> =>持有可变Foo和可以初始化后重新分配 可选<富常量>常量 =>持有一个const Foo和初始化后不能重新分配 可选<富>常量 =>(应该?)持有可变富,但初始化后不能重新分配 可选<富常量> =>(?应该)举办一个const Foo和可以初始化后重新分配 ..

使用Visual Studio调试时无法看到的boost ::可选内容

如果我尝试在可变直视,我看到了一个?标志。如果我创建一个表调用 is_initialized 函数中,我得到以下错误: CXX0033:错误:错误OMF类型信息 我没有找到关于此错误的使用谷歌,以提高相关的很多信息。 别人的经验?这是一个使用的OutputDebugString 麻烦无处不在,重建... 修改:使用Visual Studio 2010 SP1与Windows XP ..
发布时间:2016-08-12 18:31:28 C/C++开发

推动::可选< T&安培;> VS T *

我想明白的时候是使用一些附带升压并有关于使用的boost ::可选的与参考。 假设我有下面的类,使用的boost ::可选的: MyClass类{ 上市: 我的课() {} 初始化(助手&安培;帮手){ 这 - >辅助=帮手; } 推动::可选<&辅助放大器;> getHelper()方法{ 返回帮手; }私人的: 推 ..
发布时间:2016-08-12 18:29:24 C/C++开发

升压转换::可选为bool

我如何prevent这个code的最后一行进行编译? 的#include<升压/ optional.hpp>诠释的main() { TYPEDEF提振::可选< INT> int_opt; int_opt选择= 0; 布尔X =选择; //< - 我不希望这编译 } 最后一行不检查选择的包含int值,而是编译如下类型转换为bool,并且 ..
发布时间:2016-08-12 18:11:14 C/C++开发