2013-02-19 88 views
1

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

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

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

+0

您可以通过引用或指针值传递并修改函数内的值。你有什么是非法的,因为variable_name没有类型。 – 2013-02-19 15:57:25

+0

是啊我知道它会是ridiculuos,如果它的工作是这样的^^ – 2013-02-19 16:19:06

回答

3

你想引用类型:

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

在这里,我认为variable_name应该是一个double。引用类型允许您将参数传递给函数,而不会开始复制。也就是说,variable_name将是一个参考到传递在

注对象:在类型为运营商“的地址为”不误的&。不是。它们是C++中&的两个不同含义。这里我们使用它作为参考类型。

+0

好的谢谢:D我不认为这是如此简单... – 2013-02-19 15:58:38

1

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

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

在这种情况下,参数y将被复制,但不t。由于它通过引用传递,所以不需要复制;你正在对物体本身进行操作。

相关问题