所以,我有一个方法,我想传入一个变量,并改变该变量,如下所示:
// Not this:
x = addNumber(5, x);
// Like this:
addNumbers(5, x);
但我该怎么做?我想让它在不返回值的情况下更改变量。我该怎么办?
答案 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);