将特定变量传递给函数,然后编辑此变量的值

时间:2013-02-19 15:55:30

标签: c++ pointers

好吧,就像我的标题所说,我想将一个变量传递给一个函数,然后以特定的方式编辑这些值并再次保存在变量中。我不想让函数返回计算值,我想要某事。像这样:

    void function(variable_name, double computing_value)
    {
     variable_name *= computing_value;
    }
例如,

。这样对我来说会更舒服。 (我想用它为游戏编制关卡)。我可以做某事吗有指针得到这个?比如,将指针传递给函数,然后引用指针指向的变量?

2 个答案:

答案 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。由于它是通过引用传递的,因此不需要复制;你是在扮演对象本身。