C++中引用和const关键字怎么用

C++中引用和const关键字怎么用

今天小编给大家分享一下C++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

引用

下面的写法定义了一个引用,并将其初始化为引用某个变量。
类型名 & 引用名 = 某变量名;

C++中引用和const关键字怎么用

intn=4;int&r=n;//r引用了n,r的类型是int&

某个变量的引用,等价于这个变量,相当于该变量的一个别名。

intn=7;int&r=n;//r引用了n,r和n就是一回事r=4;cout<<r;//输出4cout<<n;//输出4n=5;cout<<4;//输出5

定义引用时一定要将其初始化成引用某个变量。
初始化之后,它就一直引用该变量,不会再引用别的变量了。
引用只能引用变量,不能引用常量和表达式。

doublea=4,b=5;double&r1=a;//r1引用了adouble&r2=r1;//r2也引用了ar2=10;//a修改为10cout<<a<<endl;//输出10r1=b;//用b的值对r1进行赋值,并非r1改为引用b,因为引用是“从一而终”的cout<<a<<endl;//输出5

常引用

定义引用时,前面加const关键字,即为“常引用”。

intn;constint&r=n;//r的类型是constint&

不能通过常引用去修改其引用的内容:
并不是说引用的内容不能被修改

intn=100;constint&r=n;r=200;//编译错误n=300;//ok

常引用和非常引用的转换
const T &和T &是不同的类型。
T &类型的引用或T类型的变量可以用来初始化const T &类型的引用。
const T类型的常变量和const T &类型的引用则不能用来初始化T &类型的引用,除非进行强制类型转换。

const关键字用法

1)定义常量

constintMAX_VAL=23;constdoublePI=3.14;conststringNAME="Tommy";

2)定义常量指针

不能通过常量指针修改其指向的内容,但内容本身可以被修改,且常量指针的指向可以变化。

intn,m;constint*p=&n;*p=5;//编译错误n=4;//okp=&m;//ok,常量指针的指向可以变化

不能把常量指针赋值给非常量指针,反过来可以。

constint*p1;int*p2;p1=p2;//okp2=p1;//errorp2=(int*)p1;//ok,强制类型转换

[注] 因为常量指针对其所指向的内容没有修改权限,自然也不能赋予别的指针这样的权限。否则,非常量指针接收常量指针的赋值之后,便可以修改所指向的内容了,这存在一定安全隐患。

函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容。

voidMyPrintf(constchar*p){strcpy(p,"this");//编译出错printf("%s",p);//ok}

3)定义常引用

不能通过常引用修改其引用的变量

intn;constint&r=n;r=5;//errorn=4;//ok

以上就是“C++中引用和const关键字怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。

发布于 2022-02-07 23:15:06
收藏
分享
海报
0 条评论
40
上一篇:JavaScript怎么找出数组中的重复或非重复元素 下一篇:ThreadLocal内存泄漏怎么预防
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码