如果在其他地方已经回答了这个问题的道歉,我不确定如何在搜索中找到这个问题。
我的问题是,如果我将指针传递给函数,该函数是否获得指针的副本或传递的实际指针? 换句话说,如果我有
printNext(myClass* foo)
{
foo = foo->next;
cout << foo;
}
会永久改变,还是暂时改变功能范围?
如果永久更改,我该怎么做呢? 我应该使用printNext(myClass *&amp; foo)吗?
答案 0 :(得分:1)
您正在向printNext
发送指针的副本。对参数的任何更改都将更改副本而不是原始。
如果要更改指针,可以通过引用传递或将指针传递给指针。