C++ 什么';这两个指针代码的区别是什么
我找到了这两个不同的来源,但它们的作用完全相同。我想知道是否有区别,但我想不出来 有人能告诉我区别在哪里,我什么时候应该用哪个 这是第一个:C++ 什么';这两个指针代码的区别是什么,c++,C++,我找到了这两个不同的来源,但它们的作用完全相同。我想知道是否有区别,但我想不出来 有人能告诉我区别在哪里,我什么时候应该用哪个 这是第一个: void function1(int *x) { *x = 100; } int main() { int var1 = 10; function1(&var1); cout << var1 << endl; } void函数1(int*x){ *x=100; } int main(){
void function1(int *x) {
*x = 100;
}
int main() {
int var1 = 10;
function1(&var1);
cout << var1 << endl;
}
void函数1(int*x){
*x=100;
}
int main(){
int var1=10;
函数1(&var1);
coutint*x
是一个指针,而int&x
是一个引用。可能最大的区别是你不能更改引用指向的位置。第一个是指针,第二个是引用。这些想法有一些相似之处,但也有不同之处
指针是C和C++机制,有点“纯”但是,对于指针指针等高级概念,你只需要更多的注意。引用是C++,更安全和更隐式,因为引用在使用引用的语句时使用与普通变量相同的语法。如果你想使用或改变它的值,指针就更显了,因为你必须明确地引用它。在
function1
中,nullptr
是一个有效的参数(应该选中)。有一种样式约定更倾向于使用指针来修改对象。
void function2(int &x) {
x = 100;
}
int main() {
int var2 = 10;
function2(var2);
cout << var2 << endl;
}