gpt4 book ai didi

c++ - 如何在重载运算符中引用当前结构?

转载 作者:太空狗 更新时间:2023-10-29 23:22:41 29 4
gpt4 key购买 nike

我有一个结构,我想通过定义 < 、 > 、 <= 和 >= 运算符来为其定义相对顺序。实际上在我的命令中不会有任何相等性,所以如果一个结构不小于另一个,它会自动变大。

我这样定义第一个运算符:

struct MyStruct{
...
...

bool operator < (const MyStruct &b) const {return (somefancycomputation);}

};

现在我想基于此运算符定义其他运算符,这样 <= 将返回与 < 相同的值,而其他两个将只返回相反的值。所以例如对于 > 运算符,我想写一些类似的东西

bool operator > (const MyStruct &b) const {return !(self<b);}

但我不知道如何引用这个“ self ”,因为我只能引用当前结构中的字段。

全部在C++中

希望我的问题是可以理解的:)

谢谢你的帮助!

最佳答案

Self 是 *this

也就是说,this 是指向当前对象的指针,因此您需要取消引用它才能获得实际对象。

关于c++ - 如何在重载运算符中引用当前结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288179/

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