为什么将 const (...)& 放在 C 中

新手上路,请多包涵

我想知道 - 为什么将 const (...)& 放在 C++ 中是个好主意?我在一些课堂教程中找到了这段代码。我知道 const 正在使某些东西保持不变并且无法更改,而 & 正在将其传递给函数。为什么两者都做?如果我不能改变某些东西,我为什么要把它传递给函数?

这是一个例子:

 class CVector {
      public:
        int x,y;
        CVector () {};
        CVector (int a,int b) : x(a), y(b) {}
        CVector operator + (const CVector&);
    };

    CVector CVector::operator+ (const CVector& param) { //example
      CVector temp;
      temp.x = x + param.x;
      temp.y = y + param.y;
      return temp;
    }

原文由 Igracx33 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 343
1 个回答

尽管 const 阻止您更改参数的值,但最好发送对它的引用,而不是按值发送它,因为在大型对象中,按值发送它需要复制它首先,这在通过引用调用时不是必需的

原文由 CIsForCookies 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题