Як в C ++ 17 як оголосити і ініціалізувати вектор пар (або кортежів) з необов'язковим елементом?
std::vector<std::pair<int, optional<bool> > > vec1 = { {1, true},
{2, false},
{3, nullptr}};
У мене є пара, де другий елемент може бути нульовим / необов’язковим.
Чи відповідає це на ваше запитання? Як призначити "нічого" std :: необов'язково <T>?
—
Жульєн Лопес
@JulienLopez Це говорить про призначення.
—
LF
@LF Це те саме питання, коли ви видаляєте невідповідний контекст: як створити порожній необов'язковий?
—
Жульєн Лопес
@JulienLopez У C ++ ініціалізація та призначення в цілому дуже різні. Тільки тому, що ці два питання мають рішення, що перекриваються, не означає, що вони однакові. Зокрема, зверніть увагу, що ви не хочете
—
LF
reset
тут використовувати .
std::piecewise_construct
також може запропонувати цікаві альтернативи.