gpt4 book ai didi

c++ - 使用 *this 是个好主意吗?

转载 作者:太空狗 更新时间:2023-10-29 19:50:43 25 4
gpt4 key购买 nike

我不确定

return *this

是我们可以返回调用成员函数的类的实例的唯一方法吗?我问的原因是因为我们的导师告诉我们在必要时避免使用指针,我想知道在这种情况下是否唯一必要的方法是返回 this 指针。

我正在使用一个包含私有(private)数据成员分子和分母的分数类。我正在谈论的成员函数用于添加两个分数,例如:

Fraction C = A.plus(B);

plus成员函数定义如下:

Fraction& plus( const Fraction frac )

老师要我们做 C = A += B ,所以我想这就是原因。

最佳答案

找一位新老师。看起来 plus() 的声明是完全错误的。

  • 它可能应该返回一个值而不是一个引用
  • 如果它必须返回一个引用,它应该返回一个常量引用
  • 它绝对应该以常量引用作为参数

那是为了成员 plus() 函数的可能合理实现。当然,应该是 friend 吧。

关于c++ - 使用 *this 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1041618/

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