网站开发软件中文版,免费领取永久云服务器,怎么做一个网页,2023年央选职位表C出现了新的概念#xff1a;引用。引用是某个对象的别名。
语法格式如下#xff1a; 类型引用名变量名#xff1b;
#include iostreamusing namespace std;int main(int argc, const char *argv[])
{int i 100;int ir i;//给变量i起了个别名 叫ircout…C出现了新的概念引用。引用是某个对象的别名。
语法格式如下 类型引用名变量名
#include iostreamusing namespace std;int main(int argc, const char *argv[])
{int i 100;int ir i;//给变量i起了个别名 叫ircout i i endl;cout ir ir endl;cout i的地址 i endl;cout ir的地址 ir endl;//输出内容地址相同return 0;
}引用应用
#include iostream
using namespace std;void swap(int *a, int *b) {int temp *a;*a *b;*b temp;
}void swap1(int a, int b) {int temp;temp a;a b;b temp;
}int main(int argc, const char *argv[])
{int x 10;int y 20;swap(x,y);swap1(x,y);cout x x y y endl;return 0;
}引用和被引用者是同一块地址
已用用途
简化编程用指针的场景可以用引用替换尽量减少指针的使用系统开销更小
使用引用需要注意以下几个问题
的位置是灵活的以下几种定义完全相同
int ir i;
int ir i;
int ir i;
在变量声明时出现才是引用运算符包括函数参数声明和函数返回类型的声明
int ri i;
int f(int i1,int );
引用必须定义时初始化
float f;
float r1 q;
float r2;
r2 f;//错误
const 引用常引用。在定义引用时一般为左值变量
左值是指变量对应的那块内存区域是可以放在复制符号左边的值
右值是指变量对应的内存区域中储存的数据值是可以放在复制符号右边的值
常量、表达式都是右值例如
int i 1;
i i 10;
i 10 i;//错误
i 10
10 i;//错误
可以使用const进行限制使他成为不允许被修改的常量引用也叫万能引用
int i 100;//errno
const int i 100;//ok的
char c a;//错误将c转换char 类型转换结果保存到临时变量中实际引用临时变量而临时变量是右值
引用的本质
引用的本质就是指针常量。
//int *const x m;int *const y n;
void swap(int x,int y) {int tmp 0;tmp x; //tmp *x;x y; //*x *y;y tmp;// *y tmp;
}int main(void) {int m 10,n 20;swap(m,n);return 0;
}