本文共 814 字,大约阅读时间需要 2 分钟。
c++中的引用就是变量的别名,看第一段程序:
#includeusing namespace std;int main(){ int a = 10; //c编译器分配4个字节内存。。。a内存空间的别名 int& b = a; //b就是a的别名。。。 a = 11; //直接赋值 { int* p = &a; *p = 12; printf("a %d \n", a); //输出12 } b = 14; printf("a:%d b:%d", a, b); //输出a==14, b==14 system("pause"); return 0;}
看第二段程序:
//基础类型的引用 void myswap(int a, int b){ int c = 0; c = a; a = b; b = c;}void myswap02(int *a, int *b){ int c = 0; c = *a; *a = *b; *b = c;}//04 引用作为函数参数声明时不进行初始化void myswap03(int &a, int &b){ int c = 0; c = a; a = b; b = c;}void main93(){ int x, y ; x = 10; y = 20; myswap(x, y); printf("x:%d , y:%d \n", x, y); //输出10,20 myswap02(&x, &y); printf("x:%d , y:%d \n", x, y); //输出20,10 //a就是x的别名 b就是y的别名 myswap03(x, y); printf("x:%d , y:%d \n", x, y); //输出10,20,又交换回来了 //int &c ; //普通引用 必须要初始化 system("pause");}
转载地址:http://hqzmi.baihongyu.com/