【问题标题】:What's the meaning of *& used together [duplicate]*&一起使用是什么意思[重复]
【发布时间】:2014-03-21 03:06:22
【问题描述】:
class parent
{ 
    protected:
        int a;
};

class child : public parent
{
    public:
    void addOne(parent * &);
};

void child::addOne(parent * &parentClass)
{
     a=5;
    }

int main()
{
    parent a;
    child b;
    parent* ap = &a;
    b.addOne(ap);
}

在上面的例子中,* 和 & sing 都用在像*& 这样的函数参数中,任何人都可以解释一下它是引用还是指针是什么意思?

【问题讨论】:

标签: c++


【解决方案1】:

这是对指针的引用。

编译器会在后台传递指针的地址。

虽然您的示例没有显示,但引用通常用于

  • 更改传递的参数(在本例中为指针)。
  • 保存不必要的对象副本(使用 const 引用时)。

【讨论】:

    【解决方案2】:

    当你需要修改指针,而不仅仅是它所指向的数据,你应该传递一个对指针的引用。就像任何其他变量一样。

    【讨论】:

      【解决方案3】:

      表示对指针变量的引用。

      你可以传递一个指针类型的变量,方法可以是变量的值。这意味着您可以更改原始指针指向的内容。

      【讨论】:

        【解决方案4】:

        它被称为ref-to-pointer。 它类似于ptr-to-ptr,但有一些不同,就像c++语言中的ref vs ptr。

        【讨论】:

          猜你喜欢
          • 2023-04-10
          • 2020-04-22
          • 1970-01-01
          • 2011-01-09
          • 2010-11-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-28
          相关资源
          最近更新 更多