传递指针作为参数

时间:2018-04-12 15:35:26

标签: c++ pointers

如果在其他地方已经回答了这个问题的道歉,我不确定如何在搜索中找到这个问题。

我的问题是,如果我将指针传递给函数,该函数是否获得指针的副本或传递的实际指针? 换句话说,如果我有

printNext(myClass* foo)
{
    foo = foo->next;
    cout << foo;
}

会永久改变,还是暂时改变功能范围?

如果永久更改,我该怎么做呢? 我应该使用printNext(myClass *&amp; foo)吗?

1 个答案:

答案 0 :(得分:1)

您正在向printNext发送指针的副本。对参数的任何更改都将更改副本而不是原始。

如果要更改指针,可以通过引用传递或将指针传递给指针。