kaiwii ho
kaiwii ho

Reputation: 1407

what's the meaning of *&

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

Answers (2)

Marlon
Marlon

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

Daniel A. White
Daniel A. White

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

Related Questions