C++的const解析

const的作用:

  1. 便于进行类型检查。const用于定义常量:const定义的常量编译器可以对其进行数据静态类型安全检查;
  2. 保护被修饰的东西,防止意外的修改
  3. const修饰函数形式参数 void fun(A const& a); 可以提高效率 引用传递不需要产生临时变量
  4. 提高了效率。编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。
  5. 可以节省空间,避免不必要的内存分配。const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干个拷贝

重点

const int x = 3; // x为整型常量 const修饰x
const int a1 = &b; // const在int左侧 修饰指针所指向的变量,即指针指向常量(常量指针)
int* const a2 = &b; // const在int*右侧,修饰指针本身,即指针本身为常量 (指针常量)

const位于号的左侧,则const就是用来修饰指针所指向的变量
const位于
的右侧,const就是修饰指针本身,即指针本身是常量。

const int& arg;// const放在引用之前表示声明的是一个常量引用,不能使用常量引用修改引用的变量的值,并不存在引用常量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值