指向引用参数的指针

时间:2012-12-18 22:21:27

标签: c++

  

可能重复:
  Function argument type followed by *&

我正在查看其他人的代码,并看到了一个不寻常的(至少对我而言)函数声明语法。是以下有效的C ++语法吗?

bool Foo::Bar(Frame *&ptoframe, int msToBlock)
{
    ....
}

我认为开发人员正在尝试声明一个指向引用的指针。

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

不,第一个函数参数是对指针的引用。有时你想改变别人的指针......比如说:

void change_my_char(char & c)    { c = 'x';     }

void pimp_my_pointer(void * & p) { p = nullptr; }

int main() {
  char x;
  void * y;
  change_my_char(x);
  pimp_my_pointer(y);
}

答案 1 :(得分:4)

这是一个通过引用传递的指针。这允许被调用者改变调用者指针的值。