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