作为满足我的好奇心的一点测试,我最近做了以下 *** 作来重载我的类的相等运算符:
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 – 使用一个 *** 作符的重载来使另一个 *** 作符超载是一种好的做法吗?全部内容,希望文章能够帮你解决c – 使用一个 *** 作符的重载来使另一个 *** 作符超载是一种好的做法吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)