相关疑难解决方法(0)

为什么在C ++ 20中删除了std :: type_info :: operator!=?

根据cppreferencestd::type_info::operator!=被C ++ 20删除,但是std::type_info::operator==显然仍然存在。

背后的原因是什么?我可能会同意比较不平等是没有意义的,但是然后比较相等也同样是没有意义的,不是吗?

相比之下,必须编写if(!(id1 == id2))并不会使任何代码更清晰if(id1 != id2),相反,相反……

c++ c++20

28
推荐指数
2
解决办法
444
查看次数

!= 在 C++20 中从 == 自动生成?

这是 C++20 中的标准行为吗?我在 cppreference 中找不到任何关于它的信息。

我刚刚在 Clang 和 Visual Studio 上都尝试过,它可以工作,并且没有给我任何错误或警告。我还检查了调试器,看看是否operator==被调用,它是!C++20 现在是否允许自动生成operator!=何时operator==存在?它默认为 sane!(a == b)吗?如果是这样,那对 C++ 来说真是太棒了!

c++ comparison operator-overloading comparison-operators c++20

2
推荐指数
1
解决办法
213
查看次数