所以,我有一个方法,我想传入一个变量,并更改该变量,如下所示:
// Not this:
x = addNumber(5, x);
// Like this:
addNumbers(5, x);
但我该怎么做呢?我想让它改变一个变量而不返回一个值。我该怎么办?
您需要通过引用传递它:
void addNumber(int n, int& x)
{
x += n;
}
int main()
{
int x = 0;
addNumber(5, x);
}
void addNumbers(int x, int& y) {
y += x; // y will have the value of x+y when you return from this method
}
中的 & 字符int& y
允许将其作为引用传递,这意味着您可以更改方法内变量的值,并且该更改将在方法返回时持续存在。
通过引用传递:
inline void addNumber(const int val, int& dst) {
dst += val;
}
在某处:
int x = 7;
addNumber(5, x);