函数是否可以更改作为参数传递的指针的目标,以便效果保持在函数之外?
void load(type *parameter)
{
delete parameter;
parameter = new type("second");
}
type *pointer = new type("first");
load(pointer);
在这个最小的例子中,将pointer
指向第二个分配对象?如果不是,我怎样才能得到这种行为?
更新:为了澄清我的意图,如果参数是普通类型而不是指针,下面是我将使用的代码。在这种情况下,我只会使用参考文献。
void load(type ¶meter)
{
parameter = type("second");
}
type variable("first");
load(&variable);
这很简单,但我尝试用指针做同样的事情。
No.
parameter
将获得值的副本pointer
在这种情况下。所以它是一个新变量。您对其所做的任何更改仅在函数范围内可见。pointer
保持不变。
你必须通过the pointer
引用
void load(type *& parameter)
^
{
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)