如何使用可选元素初始化成对的 C++17 向量
How to initialize C++17 vector of pairs with optional element
在 C++17 中,如何使用可选元素声明和初始化对(或元组)向量?
std::vector<std::pair<int, optional<bool> > > vec1 = { {1, true},
{2, false},
{3, nullptr}};
我有一对,其中第二个元素可能是 null/optional。
您正在寻找 std::nullopt
而不是 nullptr
。
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,{}}
};
在 C++17 中,如何使用可选元素声明和初始化对(或元组)向量?
std::vector<std::pair<int, optional<bool> > > vec1 = { {1, true},
{2, false},
{3, nullptr}};
我有一对,其中第二个元素可能是 null/optional。
您正在寻找 std::nullopt
而不是 nullptr
。
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,{}}
};