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 次 |
最近记录: |