【问题标题】:Do I have to use references in C++.? [duplicate]我必须在 C++ 中使用引用吗? [复制]
【发布时间】:2015-05-31 03:47:28
【问题描述】:

我有很深的 C 经验,但我是 C++ 初学者。引用似乎比指针更容易使用,但它让我抓狂。我认为所有引用都可以用指针替换。就我而言,指针并不难,因为我花了很多时间研究它们。在 C++ 程序员中使用引用是常见的还是只是推荐??

【问题讨论】:

  • IMO 引用与指针是一个样式问题,因此没有正确答案。
  • 在某些情况下(如复制构造函数和一些重载运算符),引用是必要的。但是如果你真的很了解指针,我不明白为什么它是一个问题。

标签: c++


【解决方案1】:

引用阻止的一件事是NULL 指针。如果要确保传递给函数的参数不为NULL,可以通过引用传递。

void func(int& i); // i cannot be NULL

【讨论】:

    【解决方案2】:

    引用不能总是被指针替换:

    C a, b, c;
    a = b - c;
    

    如果C 有一个operator-(),它要么需要接收它的参数:

    • 复制:

      C operator-(C left, C right);
      
    • 按地址:

      C operator-(C* left, C* right);
      

      在这种情况下调用变为:

      a = &b - &c;
      

      (在 C 中已经有意义)

    • 或通过使用在 C 中没有等效项的新构造。这在 C++ 中成为引用。

    questions 中有一个variety,您可以在referconcerning 中使用引用与指针。

    【讨论】:

      猜你喜欢
      • 2016-11-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 2013-10-05
      • 1970-01-01
      相关资源
      最近更新 更多