c ++,你什么时候需要/必须传递数据为(*&)

ra1*_*170 4 c++

我遇到了传递数据对象的人:

宣言:

DataObject * data = 0;
Run Code Online (Sandbox Code Playgroud)

称之为:

SomeMethod( data );
Run Code Online (Sandbox Code Playgroud)

Somethod的定义:

void SomeMethod(SomeObject * & object)
Run Code Online (Sandbox Code Playgroud)

我显而易见的问题是,你何时以及为何要这样做(&*)?是否将指针作为参考传递?

Jus*_*ini 6

是否将指针作为参考传递?

是的,这正是它正在做的事情.

如果要修改指针本身而不是指向它的数据,这非常有用.请记住,C++按值传递,因此如果传递SomeObject*,则将指针的副本传递给SomeObject.