Dalam C ++ 17, bagaimana Anda mendeklarasikan dan menginisialisasi vektor pasangan (atau tupel) dengan elemen opsional?
std::vector<std::pair<int, optional<bool> > > vec1 = { {1, true},
{2, false},
{3, nullptr}};
Saya memiliki pasangan di mana elemen kedua mungkin nol / opsional.
Apakah ini menjawab pertanyaan Anda? Bagaimana cara menetapkan "tidak ada" ke std :: opsional <T>?
—
Julien Lopez
@JulienLopez Itu berbicara tentang tugas.
—
LF
@ LF Ini pertanyaan yang sama ketika Anda menghapus konteks yang tidak relevan: bagaimana Anda membuat opsional kosong?
—
Julien Lopez
@JulienLopez Dalam C ++, inisialisasi dan tugas sangat berbeda secara umum. Hanya karena dua pertanyaan kebetulan memiliki solusi yang tumpang tindih tidak berarti bahwa keduanya sama. Secara khusus, perhatikan bahwa Anda tidak ingin menggunakannya di
—
LF
reset
sini.
std::piecewise_construct
juga bisa memberikan alternatif yang menarik.