引用是变量的别名,引用必须在定义的时候初始化。
可以使用引用修改变量的值。
const引用不可以修改变量值。
int i = 3;
const int&n = i;
#include "stdafx.h"
void swad(int&,int&);
int main(int argc, char* argv[])
{
int a = 100;
int b = 999;
int & j =a;
j = 88;
swad(a,b);
printf("a = %d\n",a);
return 0;
}
void swad(int& x,int& y){
int temp = 0;
temp = x;
x = y;
y = temp;
}
使用引用来返回多个参数
#include "stdafx.h"
void swad(int,int,int&,int&);
int main(int argc, char* argv[])
{
int a = 100;
int b = 999;
int & j =a;
j = 88;
int num = 0;
int numm = 0;
swad(a,b,num,numm);
printf("a = %d\n",a);
printf("xx = %d\n",num);
printf("yy = %d\n",numm);
return 0;
}
void swad(int x,int y,int& xx,int& yy){
xx = x+y;
yy = x*y;
}
::可查看隐藏的全局变量
#include "stdafx.h"
int x = 0;
int main(int argc, char* argv[])
{
int x =1;
x = 2;
{
int x;
x = 10;
printf("%d\n",x);
printf("%d\n",::x);
}
return 0;
}
引用和指针的区别:
指针可以为空,引用必须是已经存在的对象
传参时如果是引用,说明已经存在了,而指针则可能是空的,指针传递没有引用安全
指针是形参的拷贝,会产生很大的副本,使用引用可以大大的减少内存的使用
注:本博文为个人总结,如果有不当之处请指出,本文会有些散乱,请谅解!如需转载,请注明出处。
2012年3月9日