C++的const限定符怎么使用

本篇内容介绍了“C++的const限定符怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

const限定符:把变量定义成一个常量

1.使用const对变量的类型加以限定,变量的值不能被改变

const int bufSize=512;//输入缓冲区大小
bufSize=512;//错误 因为有等号试图向const对象写值

2.const对象必须初始化(其他时候不能出现在等号左边)

const int i=get_size();//正确 运行时初始化
const int j=33;//正确 编译时初始化
const int k;//错误 没有初始化
const int bb=0;
void *a=bb;//正确 在编译的时候 会把bb编译为常量0 const类型编译时按照常量处理

3.默认情况下const对象仅在文件内有效 想在多个文件内共享const对象 必须在变量定义之前加extern关键字

extern const int bufSize=fcn();

4.const的引用:对常量的引用

const int ci=1024;
const int&r1=ci;//正确 引用及其绑定的对象都是常量
r1=42;//错误 试图修改常量
int &r2=ci;//错误 存在改变const的风险
int i=33;
const int&r1=i;//正确  不可以通过r1对i进行修改 i依然可以通过其他途径修改
const int&r2=33;//正确
const int&r3=r1*2;//正确 此处
int &r3=r1*2;//错误 不能用非常量引用指向一个常量

5.指针和const

指向常量的指针

const doublenpi=3.14;
double *ptr=π//错误
const double *cptr=π
*cptr=3;//错误
double dval=3.14;
cptr=&dval;//正确 但不能通过cptr修改dval的值

const指针:指针是对象,也可以限定为常量(必须初始化)

把*放在const之前,说明指针是一个常量,不变的是指针本身的值而非指向的那个值

int errNumb=0;
int *const curErr=&errNumb;
const double pi=3.14159;
const double *const pip=π//指向常量的常量指针
*pip=2.71;//错误 试图修改常量pip
if(*cureRR){
     errorHandler();
     *curErr=0;//正确 试图修改变量erNumb
}

“C++的const限定符怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注蜗牛博客网站,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接