【发布时间】:2020-06-23 03:23:45
【问题描述】:
在 C++17 中,如何声明和初始化带有可选元素的对(或元组)向量?
std::vector<std::pair<int, optional<bool> > > vec1 = { {1, true},
{2, false},
{3, nullptr}};
我有一对,其中第二个元素可能为空/可选。
【问题讨论】:
-
std::piecewise_construct也可以提供有趣的替代方案。 -
这能回答你的问题吗? How to assign "nothing" to std::optional<T>?
-
@JulienLopez 那是在谈论分配。
-
@L.F.当你删除不相关的上下文时,同样的问题是:你如何创建一个空的可选?
-
@JulienLopez 在 C++ 中,初始化和赋值通常非常不同。仅仅因为这两个问题恰好有重叠的解决方案并不意味着它们是相同的。特别要注意,您不想在此处使用
reset。
标签: c++ vector c++17 optional std-pair