1

当 anint在本地声明(但未初始化或分配给)时,它的值未定义。什么时候std::optional<int>在没有显式初始化的情况下在本地声明,同样适用吗?它总是std::nullopt,还是具有未定义的价值?

4

1 回答 1

4

从构造函数的参考std::optional

constexpr optional() noexcept;

constexpr optional( std::nullopt_t ) noexcept;

构造一个不包含值的对象。

所以是的,默认初始化std::optional没有价值,但它不是不确定的。

于 2020-08-04T18:52:35.037 回答