In C++17, how do you declare and initialize a vector of pairs(or tuples) with an optional element?
std::vector<std::pair<int, optional<bool> > > vec1 = { {1, true},
{2, false},
{3, nullptr}};
I have a pair where the second element may be null/optional.
You are looking for std::nullopt
instead of nullptr
.
std::vector<std::pair<int, std::optional<bool> > > vec1 =
{ {1, true}, {2,false}, {3,std::nullopt} };
Or simple use default construction:
std::vector<std::pair<int, std::optional<bool>>> vec1 {
{1, true}, {2,false}, {3,{}}
};
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.