【发布时间】:2017-07-20 05:13:53
【问题描述】:
我编写了这个小程序来解释我的观点,并且我的变量 a 保持不变,它会打印 4。后来我知道我需要使用指针或引用;这是为什么呢?
#include <iostream>
void setToTen(int x) { x = 10; }
int main(){
int a = 4;
setToTen(a);
std::cout << a << std::endl;
}
【问题讨论】:
-
根据语言规则中的定义,变量通过值传递或复制到函数,除非它们是引用。
-
您需要将
x声明为引用。那是int&而不是int。 -
这不是问题,但您真的需要
std::endl需要的额外内容吗?'\n'结束一行。 -
问题不应被否决,因为它们是基本问题或初学者问题。这个问题说明了预期的行为、观察到的行为并提供了minimal reproducible example。如果缺乏研究,这很好问。专门针对新用户。