C++17给vector使用元组初始化,其中元组里包含了optional元素/null。
方法一:使用 std::nullopt初始化元素
示例:
std::vector<std::pair<int, std::optional<bool> > > vec1 =
{ {1, true}, {2,false}, {3,std::nullopt} };
方法二:使用默认的构造器
std::vector<std::pair<int, std::optional<bool>>> vec1 {
{1, true}, {2,false}, {3,{}}
};
这两种方法中,使用nullopt更清晰点,推荐。