【发布时间】:2016-10-11 17:00:23
【问题描述】:
我找到了这两个不同的来源,但它们的作用完全相同。我想知道是否有区别,但我无法弄清楚。
谁能告诉我区别以及我应该什么时候使用哪个?
这是第一个:
void function1(int *x) {
*x = 100;
}
int main() {
int var1 = 10;
function1(&var1);
cout << var1 << endl;
}
这是第二个:
void function2(int &x) {
x = 100;
}
int main() {
int var2 = 10;
function2(var2);
cout << var2 << endl;
}
【问题讨论】:
-
在
function1中,nullptr是一个有效参数(应该检查)。 -
有一些样式约定更喜欢修改对象的指针。
标签: c++