1

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

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

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

4

2 回答 2

3

你想要一个引用类型:

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

在这里,我假设variable_name应该是double. 引用类型允许您将参数传递给函数,而无需开始复制。也就是说,variable_name将是对传入对象的引用。

注意:不要&将类型中的 误认为是“地址”运算符。它不是。它们&在 C++ 中是两种不同的含义。在这里,我们将它用作引用类型。

于 2013-02-19T15:56:26.777 回答
1

在 C++ 中,您不再需要指针来修改参数。您可以改用参考

void function(T &t, T y) { // Where T is the type of your argument.
     t *= y;
}

在这种情况下,参数y将被复制,但不会被复制t。由于它是通过引用传递的,因此不需要副本;您正在对对象本身进行操作。

于 2013-02-19T15:57:11.407 回答