c++日积月累const关键字

const含义:

只要一个变量前用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:可以很方便的进行参数的修改和调整,同时避免意义模糊的数字出现;

const修饰指针有4种形式,区分清楚这4种即可全部理解const和指针

第一种:const int *p; //p本身不是const的,而p指向的变量是const的

第二种:int const *p; //p本身不是const的,而p指向的变量是const的

第三种:int * const p; //p本身是const的,而p指向的变量不是const的

第四种:const int * const p;//p本身是const的,而p指向的变量也是const的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值