常量引用:
常量引用即为对const的引用,其仅对引用可参与的操作做出了限定,但对于引用的对象是否为const常量并未做限定。若引用对象是const常量,那么无论通过何种方式都不允许改变对象的值;若引用对象是非常量,则允许通过其他途径改变其值。如:
int i=47;
int &r1=i;
const int &r2=i;
此时不允许对r2进行改变其值的操作,因为r2位常量引用,但可以通过改变r1或直接改变i来达到改变值的目的。
i=0;//行!
r1=0;//行!
r2=0;//不行!
——————————————————————————————————————————————————
指向常量的指针:
指向常量的指针同理
int i=47;
int *p1=&i;
const int *p2=&i;
可以通过改变*p1或i来改变值,但p2不允许这么做。
i=0;//行!
*p1=0;//行!
*p2=0;//不行!
——————————————————————————————————————————————————
可以这样理解:
所谓指向常量的指针或引用,不过是指针或引用“自以为是”罢了,它们觉得自己指向了常量,所以自觉地不去改变所指对象的值。对象的值到底能不能修改只取决于其本身。
本文介绍了C++中的常量引用和指向常量的指针,强调了它们对对象值的修改限制。常量引用不能改变引用对象的值,而指向常量的指针同样禁止修改所指对象。通过实例展示了如何通过普通引用和非const指针改变对象值。理解这些概念对于C++编程至关重要。
&spm=1001.2101.3001.5002&articleId=109408691&d=1&t=3&u=e540346173a94ee09a4de02fb4ddf124)
925

被折叠的 条评论
为什么被折叠?



