Проверка наличия в std::optional в C++
Контекстное приведение у std::optional
работает так же, как «метод has_value»: в условии
истинно только непустой optional.
Можно вызывать has_value напрямую или писать
if (opt) - оба способа отвечают на один вопрос.
Запишем optional с числом и выведем результат проверки
в условии:
#include <optional>
std::optional<int> code = 42;
if (code) {
std::cout << 1 << "\n";
}
На экран попадает 1 - ветка выполняется,
потому что значение присутствует.
Создайте std::optional<double> rate
с числом 0.5. Если optional истинен,
выведите 1, иначе 0.