C++ 17引入了std::optional,它表示一个可能有值也可能没有值的对象。它可以用于简化代码和处理值可能存在或不存在的情况。std::optional可以使用std::nullopt或{}进行构造,可以使用emplace或std::make_optional插入值。可以使用.value()或*运算符访问值。可以使用has_value或与std::nullopt进行比较来检查值的存在。如果值不存在,可以使用value_or设置默认值。如果在没有值的情况下调用.value(),它将抛出std::bad_optional_access异常。
完成下面两步后,将自动完成登录并继续当前操作。