我是否必须在C ++中使用引用。?

时间:2015-05-31 03:47:28

标签: c++

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

如果operator-()C,则需要接收其参数:

  • 副本:

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

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

    在这种情况下,呼叫变为:

    a = &b - &c;
    

    (已在C中有意义)

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

variety questions refer concerning你可以http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html http://docs.opencv.org/doc/tutorials/imgproc/pyramids/pyramids.html使用引用与指针。