<分区>
能够比较 a std::optional<T>
是否相等是非常有用的与 T
:
std::optional<int> opt_value;
int value = 123;
opt_value == value; // will always be 'false'
我认为这种情况下的行为定义明确且清晰。
我不明白为什么允许这样做:
opt_value < value; // this will always be 'true'
我原以为这甚至无法编译。 我认为这里发生的事情非常模糊。 为什么将其添加到 STL 中?