当 anint在本地声明(但未初始化或分配给)时,它的值未定义。什么时候std::optional<int>在没有显式初始化的情况下在本地声明,同样适用吗?它总是std::nullopt,还是具有未定义的价值?
1 回答
4
从构造函数的参考std::optional:
constexpr optional() noexcept;
constexpr optional( std::nullopt_t ) noexcept;构造一个不包含值的对象。
所以是的,默认初始化std::optional没有价值,但它不是不确定的。
于 2020-08-04T18:52:35.037 回答