在B站看于仕琪老师的C++教程,他在引出引用这个知识点之前讲的是function。function的参数传递有两种,第一种是pass by value,第二种是pass by reference。
这是第一种:
int num;
foo(num);
foo(int n){
这里的n是num的拷贝,不会对外面的num有任何修改
n++;
}
int *p = #
foo2(int *p){
*p++;
这里改变的是p指向的内容的值,所以num会改变
}
int & a = num;
引用在声明时候一定要赋值,不能空初始化
foo3(int & a){
这里传的是引用,而不是num的拷贝对引用操作也可以改变num,比指针安全
a++;
}