C++:Asterisk和Ampersnd一起使用

C++: Asterisk and Ampersnd Used Together

本文关键字:一起 Ampersnd Asterisk C++      更新时间:2023-10-16

可能重复:
引用指针

我正在浏览一些代码,并看到Foo*& bar。如何解释?谢谢

它是指向Foo的指针的引用。通常的用例是当您希望函数更改作为参数传递给它的指针时:

void foo(Foo*& bar)
{
  bar = something_else;
}

bar是指向Foo的指针的引用。

从右到左读取:

Foo*& bar
[bar] is a [reference] to a [pointer] to a [Foo]

从右到左阅读这样的声明通常很有帮助:

Foo*& bar;
  • bar
  • 是参考&
  • 指向指针*
  • Foo

指向指针和Foo的引用
可能用作函数参数
可能是"out参数"。