我是一名java编码器,并不熟悉c ++语言。 但是现在,我阅读了以下代码:
void method(A* a,A*& b);
A *a;
A *b;
method(a,b);
我的问题是: “*&”的含义是什么?它是否意味着它代表了b本身的价值? thx
答案 0 :(得分:1)
b
是对A
。
因此,如果method
设置b
,则调用范围内的b
将会更改。
答案 1 :(得分:0)
从右到左阅读。 A*& b
表示b
是对指向A
的对象的引用。为什么这有用?它允许您直接修改传递给函数的指针。当函数返回时,该函数内的b
会发生什么。