[开发资料] 关键字const有什么含意?

[复制链接]
856|14
 楼主| 中国龙芯CDX 发表于 2023-12-16 14:09 | 显示全部楼层 |阅读模式
只要一个变量前用const来修饰,就意味着该变量里的数据只能被访问,而不能被修改,也就是意味着const“只读”(readonly)。

规则:const离谁近,谁就不能被修改;

const修饰一个变量时,一定要给这个变量初始化,若不初始化,在后面也不能初始化。

const作用:

1:可以用来定义常量,修饰函数参数,修饰函数返回值 ,且被const修饰的东西,都受到强制保护,可以预防其它代码无意识的进行修改,从而提高了程序的健壮性(是指系统对于规范要求以外的输入能够判断这个输入不符合规范要求,并能有合理的处理方式。ps:即所谓高手写的程序不容易死);
2:使编译器保护那些不希望被修改的参数,防止无意代码的修改,减少bug;
3:给读代码的人传递有用的信息,声明一个参数,是为了告诉用户这个参数的应用目的;
const优点:

1:编译器可以对const进行类型安全检查(所谓的类型安全检查,能将程序集间彼此隔离开来,这种隔离能确保程序集彼此间不会产生负面影响,提高程序的可读性);
2:有些集成化的调试工具可以对const常量进行调试,使编译器对处理内容有了更多的了解,消除了一些隐患。eg:void hanshu(const int i){.......}  编译器就会知道i是一个不允许被修改的常量
3:可以节省空间,避免不必要的内存分配,因为编译器通常不为const常量分配内存空间,而是将它保存在符号表中,这样就没有了存储于读内存的操作,使效率也得以提高;
4:可以很方便的进行参数的修改和调整,同时避免意义模糊的数字出现

AdaMaYun 发表于 2023-12-16 14:28 | 显示全部楼层
const来修饰,就意味着该变量里的数据只能被访问,而不能被修改
cr315 发表于 2023-12-18 10:22 | 显示全部楼层
C++中有哪些常见的保留关键字
forgot 发表于 2023-12-18 11:30 | 显示全部楼层
用const来修饰,就意味着该变量里的数据只能被访问,而不能被修改,也就是意味着const“只读”
jf101 发表于 2023-12-19 09:37 | 显示全部楼层
被const修饰的东西,都受到强制保护
OKAKAKO 发表于 2023-12-19 10:23 | 显示全部楼层
const“只读”变量,不能进行修改的
小小蚂蚁举千斤 发表于 2023-12-19 10:47 | 显示全部楼层
const'使编译器保护那些不希望被修改的参数,防止无意代码的修改,减少bug;
小夏天的大西瓜 发表于 2023-12-20 16:49 | 显示全部楼层
被const修饰的东西,都受到强制保护
 楼主| 中国龙芯CDX 发表于 2023-12-21 08:53 | 显示全部楼层
AdaMaYun 发表于 2023-12-16 14:28
const来修饰,就意味着该变量里的数据只能被访问,而不能被修改

确实是这样的,const基本就是用来固定特定值的
 楼主| 中国龙芯CDX 发表于 2023-12-21 08:53 | 显示全部楼层
OKAKAKO 发表于 2023-12-19 10:23
const“只读”变量,不能进行修改的

 楼主| 中国龙芯CDX 发表于 2023-12-21 08:53 | 显示全部楼层
小夏天的大西瓜 发表于 2023-12-20 16:49
被const修饰的东西,都受到强制保护

const基本就是用来固定特定值的
 楼主| 中国龙芯CDX 发表于 2023-12-21 08:54 | 显示全部楼层
小小蚂蚁举千斤 发表于 2023-12-19 10:47
const'使编译器保护那些不希望被修改的参数,防止无意代码的修改,减少bug; ...

确实有利于减少bug
星辰大海不退缩 发表于 2023-12-21 12:42 | 显示全部楼层
const“只读”变量,不能进行修改的
szt1993 发表于 2023-12-21 19:59 | 显示全部楼层
const离谁近,谁就不能被修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

339

主题

2677

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部