Slide 90
Slide 90 text
optional objects
ハッシュサポート
90
// みんな大好き unordered_map
std::unordered_map, std::string> um;
// 普通に要素追加できるぞ!
um.emplace("ゴーン", "has gone");
// 同じキーは当然存在できないぞ!
um.emplace("ゴーン", "お前だったのか…");
// 値無しキーの追加で std::nullopt 大活躍!
um.emplace(std::nullopt, "値ねぇし!");
// 値のデフォルト構築で、std::in_place が避けられない…
um.emplace(std::in_place, "空文字だぞ!");
// ちょっと変わったコンストラクタだと、もはや何が何だか…
um.emplace(std::piecewise_construct,
std::forward_as_tuple(std::in_place, 1024, 'w'),
std::forward_as_tuple("テラワロス!"));