Joã*_*res 2 c++ comparison operator-overloading comparison-operators c++20
这是 C++20 中的标准行为吗?我在 cppreference 中找不到任何关于它的信息。
我刚刚在 Clang 和 Visual Studio 上都尝试过,它可以工作,并且没有给我任何错误或警告。我还检查了调试器,看看是否operator==被调用,它是!C++20 现在是否允许自动生成operator!=何时operator==存在?它默认为 sane!(a == b)吗?如果是这样,那对 C++ 来说真是太棒了!
!=从==C++20自动生成?
这是 C++20 中的标准行为吗?
是的。在 C++20 中operator!=自动生成operator==。
此外,如果您定义operator<=>,则会生成所有四个关系运算符,如果您定义operator<=>为默认值,则会生成所有比较运算符。
大多数情况下你想做什么:
struct example
{
std::string a;
int b;
auto operator<=>(const example&) const = default;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |