Reputation: 1407
I am a java coder and not familar with the c++ language. But right now,i read the following code:
void method(A* a,A*& b);
A *a;
A *b;
method(a,b);
And my question is: what's the meaning of "*&"?Does it means that it represent the value of b itself? thx
Upvotes: 0
Views: 281
Reputation: 20322
Read it from right to left. A*& b
says that b
is a reference to an object that points to an A
. Why is this useful? It allows you to directly modify the pointer that is being passed into the function. Whatever happens to b
inside that function will be visible when the function returns.
Upvotes: 0
Reputation: 191058
b
is a reference to a pointer of A
.
So if method
sets b
, the b
in scope of the call will be changed.
Upvotes: 1