我正在查看其他人的代码,并看到了一个不寻常的(至少对我而言)函数声明语法。是以下有效的C ++语法吗?
bool Foo::Bar(Frame *&ptoframe, int msToBlock)
{
....
}
我认为开发人员正在尝试声明一个指向引用的指针。
感谢您的帮助
答案 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)
这是一个通过引用传递的指针。这允许被调用者改变调用者指针的值。