如何通过方法更改值?

时间:2013-09-24 21:55:09

标签: c++ function variables

所以,我有一个方法,我想传入一个变量,并改变该变量,如下所示:

// Not this:
x = addNumber(5, x);

// Like this:
addNumbers(5, x);

但我该怎么做?我想让它在不返回值的情况下更改变量。我该怎么办?

3 个答案:

答案 0 :(得分:4)

您需要通过引用传递它:

void addNumber(int n, int& x)
{
    x += n;
}

int main()
{
    int x = 0;
    addNumber(5, x);
}

答案 1 :(得分:3)

void addNumbers(int x, int& y) {
  y += x;  // y will have the value of x+y when you return from this method
}

int& y中的&符号允许它作为引用传递,这意味着您可以更改方法内部变量的值,并且该更改将在方法返回时保留。

答案 2 :(得分:2)

通过引用传递:

inline void addNumber(const int val, int& dst) {
    dst += val;
}

和某处:

int x = 7;
addNumber(5, x);