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);
<
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.
b
is a reference to a pointer of A
.
So if method
sets b
, the b
in scope of the call will be changed.