gpt4 book ai didi

c++ - 使用一个运算符的重载来重载另一个运算符是一种好习惯吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:16:36 24 4
gpt4 key购买 nike

我最近发现了 C++ 的奇妙功能,它允许程序员重载他们创建的类的操作。作为探索这个话题的一种方式,我决定尝试自己制作 vector类(class)。

作为满足我好奇心的小测试,我最近做了以下操作来为我的类重载相等运算符:

 95 bool Vect::operator==(const Vect& rhs){
96 return this->getCoord() == rhs.getCoord()
98 }
99
100 bool Vect::operator!=(const Vect& rhs){
101 return !(*this == rhs);
102 }

这可以正确编译和工作。但是,我对这是否是好的/坏的做法有疑问(以及为什么!)。如果它不好,我不想养成这样做的习惯,或者如果它很好,我会鼓励自己继续使用它。

最佳答案

运算符重载没有什么不好的,它是一种很好的做法。

运算符重载 可帮助您编写干净且易于理解的代码,并使编辑过程更加轻松。

PS:正如您所说,您最近遇到了运算符重载this可能会帮助您了解它的一些规则和限制。

编辑: 使用重载运算符来重载其他运算符是可以的。但是它进行了两次函数调用而不是一次,考虑到性能,这是不可取的。但影响不大。

关于c++ - 使用一个运算符的重载来重载另一个运算符是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31577571/

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