gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 06:56:46 24 4
gpt4 key购买 nike

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

我刚刚在 Clang 和 Visual Studio 上都进行了尝试,它可以正常工作,并且没有给我任何错误或警告。我还检查了调试器是否正在调用 operator== 并且确实如此!当 operator== 存在时,C++20 现在是否允许自动生成 operator!=?它是否默认为一个健全的 !(a == b)?如果是这样,那对 C++ 来说太棒了!

最佳答案

!= auto generated from == in C++20?

Is this standard behavior in C++20?

是的。 operator!=是从 operator== 自动生成的在 C++20 中。

此外,如果您定义 operator<=>,则会生成所有四个关系运算符。 , 如果定义 operator<=>,则生成所有比较运算符默认情况下。

在大多数情况下你想做什么:

struct example
{
std::string a;
int b;

auto operator<=>(const example&) const = default;
};

关于c++ - != 在 C++20 中从 == 自动生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64121390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com