C++中的const关键字

本文深入探讨了C++中的const关键字,详细解释了它在修饰普通变量和对象时的行为,包括const对象如何调用成员函数,const成员函数的限制,以及const数据成员的初始化规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++中的const和C语言中的const不同,我从两个方面开始阐述。一方面是修饰普通变量,另一方面是修饰对象及成员函数。
一:在修饰普通变量时,该变通变量就是一个常量,即便以后经过指针间接改变其值,当其在作右值的时候,其值仍然是初始化时的值(使用符号表中的值)。
![这里写图片描述](https://img-blog.youkuaiyun.com/20180815200849524?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhbGxtYWlu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
二:1.在修饰对象时,const对象只能调用const成员函数。![这里写图片描述](https://img-blog.youkuaiyun.com/20180815201634564?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhbGxtYWlu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    2.非const对象可以调用const成员函数和非const成员函数。既然const成员函数可以被非const对象和const对象调用,为什么不把所有的成员函数设置成const的呢?原因就是const成员函数不能更改数据成员的值,只能读而不能写。
    3,对const数据成员进行初始化时,要在其构造函数初始化数据区进行,不能在构造函数体内进行。![这里写图片描述](https://img-blog.youkuaiyun.com/20180815202654623?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhbGxtYWlu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    4.const成员函数不能调用非const成员函数,因为非const成员函数可能更改数据成员的值。
    5.const对象作为另一个类的数据成员时,a只能调用const成员函数,在类中的const成员函数和非const成员函数都可以访问a。![这里写图片描述](https://img-blog.youkuaiyun.com/20180815203610302?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhbGxtYWlu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

不浮、不躁、认清自己。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值