对于`optional`,是否有一个C ++ 14 / boost等效的std :: in_place?

时间:2017-07-08 18:55:18

标签: c++ boost

this question我有一个答案,用optional初始化run( std::in_place, ctor_arg )以进行就地初始化。唉,我的一些目标平台似乎还不支持这个。是否有使用boost::optional的前C ++ 17等效项?

也就是说,我有optional<foo> foo并希望在构造函数初始化列表中初始化它:

 class outer {
     boost::optional<foo_t> foo;

     outer() : 
        foo{ boost::in_place } // ???

我根据我在增强文档中找到的内容尝试foo{ boost::in_place<foo_t>( foo_t() ) },但我不确定它是否正确。我在构造函数中遇到与此处值相关的段错误,并希望将可能不正确的可选构造排除在原因之外。

0 个答案:

没有答案