std::Optional<std::nullopt_t> 如何操作?

Jos*_*een 3 c++ c++17 stdoptional

这是一个愚蠢的问题,但我很好奇,但我还没有找到解释。建造 a 是否合法std::optional<std::nullopt_t>?如果你这样做了,你会怎样

std::optional<std::nullopt_t> x(std::nullopt);
Run Code Online (Sandbox Code Playgroud)

做?是否包含x值?

Nic*_*las 6

正如注释中所指出的,optional使用nullopt_t(或in_place_t) 实例化 a 是明确禁止的,并且会因编译错误而失败。

  • https://eel.is/c++draft/可选#可选.general-3 (5认同)