pde*_*eva 0 c++ pointers reference
我有一个函数,它接受一个对象的引用:
void move(Ball& ball);
Run Code Online (Sandbox Code Playgroud)
我有另一个函数调用'move()',它有一个指向ball的指针:
void foo(Ball* ball){
//call move()
}
Run Code Online (Sandbox Code Playgroud)
foo()应该如何将球传给move()?
应该是这样的:
move(*ball);
Run Code Online (Sandbox Code Playgroud)
要么:
move(ball);
Run Code Online (Sandbox Code Playgroud)
要么:
move(&ball);
Run Code Online (Sandbox Code Playgroud)
移动(*球);
这就是原因.您可以将引用视为基本上指向它所传递的对象的指针.因此,您需要对象本身,而不是指针.如果你调用move(ball),你将获得指针的引用(指针),而不是对象.相反,移动(*球)取消引用指针,然后引用取得该解除引用对象的指针.
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |