boost-optional相关内容
为什么std::optional(目前libc++中的std::experimental::optional)没有引用类型的特化(与 boost::optional 相比)? 我认为这将是非常有用的选择. 在STL中是否有一些对象引用可能已经存在的对象语义? 解决方案 When n3406(提案的第 2 修订版)进行了讨论,一些委员会成员对可选的参考资料感到不舒服.在 n352
..
据我所知,有 2* 种方法可以实现有时不返回结果的函数(例如在 ppl 列表中找到的人). *- 我们忽略原始 ptr 版本,与 bool 标志配对,并在找不到版本时出现异常. boost::optionalfindPersonInList(); 或 std::unique_ptrfindPersonInList(); 那么有什么理由更喜欢一个吗? 解决方案 这取决于:您希望
..
我想创建使用标准 C++ 中的“可选"的头文件.但是,我的标头将从 Visual Studio 2015 和 Visual Studio 2017 项目中引用. 我想要一些东西,例如对于 Visual Studio 2017(带有 C++ 17 lang 功能集),使用 std::optional 并且在 Visual Studio 2015 中使用 boost::optional.
..
与模板规范一起使用时, boost :: make_optional()行为令我感到困惑. 尤其是,我仍然不清楚为什么会这样: int pizza = 5;boost :: optionalpizza_opt = boost :: make_optional(披萨) 引发编译错误无法将类型为'int&&'的右值引用绑定到类型为'int'的左值;而这: in
..
我想更好地理解使用 default 构造函数创建 boost :: optional 对象之间的区别: boost :: optional通心粉= boost :: optional(意大利面) 或使用 make_optional 版本: boost :: optional意大利面= boost :: make_o
..
我正在实现 std::optional ,但是遇到了复制构造函数之一. 这是我的实现示意图: #include template class optional { public: constexpr optional() : m_is_engaged(false) {} constexpr
..
如果基础类型T是不可默认构造的,不可复制/可移动的,但实例仍然可以存在,该怎么做初始化boost::optional? 出于任何语义原因而禁止boost::optional具有某些成员函数(如template boost::optional::construct(Args && ...args)),该成员函数将所有参数传递到就地op
..
借助Boost,我可以使用以下方法创建一个可选的原位: boost::optional work = boost::in_place(boost::ref(io_service)); 并通过以下方式将其脱离: work = boost::none; 有了C ++ 14/实验性支持,我可以改为使用以下方法构造一个可
..
为什么std::optional(目前在 libc ++ 中的std::experimental::optional)没有对引用类型的专业化(与boost::optional相比)? 我认为这将是非常有用的选择. 在 STL 中是否有一些对象引用了也许已经存在的对象语义? 解决方案
..
我遇到了一个我无法理解的编译时错误。我尝试在我的代码中使用 boost :: optional ,并且一旦我包括 boost / optional.hpp I不能再建立我的项目了。如果我评论这个包括语句出来,它的工作原理。我甚至没有任何实际使用 boost :: optional 在我的代码中,只是类头中的include语句(见下面的完整标题)。编译器错误是 C2143语法错误:在另一个Boost
..
如何防止此代码的最后一行编译? #include int main() { typedef boost :: optional int_opt; int_opt opt = 0; bool x = opt; //
..
double five = 5; double * dptr =& five; for(int& d:dptr)std :: cout 现在是vox populi, boost :: optional (future std :: optional )值可以被视
..
我正在尝试使用c ++ 11功能实现boost :: optional数据结构。这里是我到目前为止: template
..
我正在阅读 std :: experimental :: optional ,并且我对它的功能有一个好的想法,但是我不明白何时应该使用它或如何使用它。网站不包含任何例子,因为它让我更难掌握这个对象的真正概念。当 std :: optional 是一个好的选择使用,以及如何补偿在以前的标准(C ++ 11)中没有找到的 解决方案 我可以想到的最简单的例子: std :: option
..
我有这样的code: 的boost ::可选<双>结果= _ind1.Value()/ _ind2.Value(); 每个arg是的boost ::可选<双> 太:的boost ::可选<双>值(){ 返回值; } 错误是: 错误1错误C2676:二进制'/':'的boost ::可选< T>'不定义此运算符或转换到类型接受的pr
..
在我看来,应该有四个变量的boost ::可选的 可选<富> =>持有可变Foo和可以初始化后重新分配 可选<富常量>常量 =>持有一个const Foo和初始化后不能重新分配 可选<富>常量 =>(应该?)持有可变富,但初始化后不能重新分配 可选<富常量> =>(?应该)举办一个const Foo和可以初始化后重新分配
..
如果我尝试在可变直视,我看到了一个?标志。如果我创建一个表调用 is_initialized 函数中,我得到以下错误: CXX0033:错误:错误OMF类型信息 我没有找到关于此错误的使用谷歌,以提高相关的很多信息。 别人的经验?这是一个使用的OutputDebugString 麻烦无处不在,重建... 修改:使用Visual Studio 2010 SP1与Windows XP
..
我试图编译以下code: 的#include<&iostream的GT; #包括LT&;&迭代器GT; #包括LT&;矢量>#包括LT&;升压/转让/ STD / vector.hpp> #包括LT&;升压/ optional.hpp> #包括LT&;升压/范围/适配器/ indirected.hpp> #包括LT&;升压/范围/算法/ copy.hpp>IN
..
我想明白的时候是使用一些附带升压并有关于使用的boost ::可选的与参考。 假设我有下面的类,使用的boost ::可选的: MyClass类{ 上市: 我的课() {} 初始化(助手&安培;帮手){ 这 - >辅助=帮手; } 推动::可选<&辅助放大器;> getHelper()方法{ 返回帮手; }私人的: 推
..
我如何prevent这个code的最后一行进行编译? 的#include<升压/ optional.hpp>诠释的main() { TYPEDEF提振::可选< INT> int_opt; int_opt选择= 0; 布尔X =选择; //< - 我不希望这编译 } 最后一行不检查选择的包含int值,而是编译如下类型转换为bool,并且
..