好吧,就像我的标题所说,我想将一个变量传递给一个函数,然后以特定的方式编辑这些值并再次保存在变量中。我不想让函数返回计算值,我想要某事。像这样:
void function(variable_name, double computing_value)
{
variable_name *= computing_value;
}
例如,。这样对我来说会更舒服。 (我想用它为游戏编制关卡)。我可以做某事吗有指针得到这个?比如,将指针传递给函数,然后引用指针指向的变量?
答案 0 :(得分:3)
您想要一个引用类型:
void function(double& variable_name, double computing_value)
{
variable_name *= computing_value;
}
我假设variable_name
应该是double
。引用类型允许您在不开始复制的情况下将参数传递给函数。也就是说,variable_name
将是传入的对象的引用。
注意:不要将类型中的&
误认为是“地址”运算符。不是。它们是C ++中&
的两个不同含义。我们在这里使用它作为参考类型。
答案 1 :(得分:1)
在C ++中,您不再需要指针来修改参数。您可以改为使用引用:
void function(T &t, T y) { // Where T is the type of your argument.
t *= y;
}
在这种情况下,将复制参数y
,但不会复制t
。由于它是通过引用传递的,因此不需要复制;你是在扮演对象本身。