c++之引用和指针
c语言中函数的参数传递
按值传递,如果值传递数据很大,复制数据会花费很长的时间。所以使用指针传递比较好。
c++中函数的参数传递
按值传递,
引用传递,避免大量数据的开销,可以提高性能。引用是变量的别名,使用必须初始化。
&符号只有在声明引用的时候是引用操作符,其他是地址操作符。
引用一旦初始化,它就维系在一定的目标上,再也不分开
引用和指针的差别:
指针是一个变量,可以再赋值指向别处的地址
建立引用的时候必须进行初始化,并且不能再关联其他不同的变量
指针是一个变量,所以指针也可以引用
void &a;是不合法的
引用数组是不行的。
使用引用之后,原来的变量会被改变
比如 void zoo(int & b)
{
b=10;
}
int main(){
int a=0;
zoo(a);
cout<<a<<endl;
}
输出结果就是 10 ;而如果把&去掉,输出就是0;这就是引用。
使用引用的地方:
函数智能返回一个值,如果我们需要返回多个值,就是用引用传递,引用不产生副本,提高了程序的运行效率。也可以使用指针。不过在函数返回一个局部变量的引用,是不对的。