Запись через emplace в std::optional в C++
Пустой optional можно заполнить так же просто, как переменную.
Метод emplace создает объект на месте внутри
контейнера. Оператор = тоже записывает новое
значение и делает optional непустым. Запишем пустой
optional, положим число через emplace и выведем его:
#include <optional>
std::optional<int> slot = std::nullopt;
slot.emplace(17);
std::cout << slot.value() << "\n";
На экран попадает 17 - после emplace значение
лежит внутри, как после обычного присваивания.
Объявите пустой std::optional<std::string> tag,
присвойте строку "v1" и выведите «метод value».