c++ const关键字总结

const在C++中的使用:

  • const对变量的修饰
  • cosnt对指针的修饰
  • const对函数的修饰

一. const对变量的修饰

  const int MAX_SIZE = 1024;
  这是最常见的用法,大家都没问题, const在定义的时候需要初始化。
  有两点需要注意一下:
  a) const变量默认是局部变量,如果需要全局访问,需要显示地extern
  b) const int MAX_SIZE = 1024 与 #define MAX_SIZE1024 貌似做了相同的事情,但是是完全不同的两个同意。
  #define作为宏定义是完全文本替换,而const MAX_SIZE是作为一个变量整体的。
  下面这段代码可以说得更清楚:
  const int MAX_SIZE = 1 << 10;// #define MAX_SIZE 1<<10
  cout << MAX_SIZE << std;

二. const对指针的修饰

  const int * a = &b; (1)
  int const * a = &b; (2)
  int * const a = &b; (3)
  const int * const a = &b; (4)
  (1)(2)的含义是相同的,表示指针所指的内存空间不可修改. *a = XXX;是非法的
  (3)表示指针不可修改,a++是非法的;
  (4)表示指针和指针内容都不可修改

三. const对函数的修饰

  void fun(const int &r) (1) 与int const相同
  void fun() const (2)
  const int fun() (3)
  (1) 函数的参数为const,表示函数不可修改参数的值
  (2) 函数加const后缀, 此时的函数为自定义结构(struct,class)的成员函数,表示该函数成员不可修改class的成员变量
  (3) 函数的返回结果为const
  表示返回的结果不可修改,返回结果只能赋值给const修饰的变量

经验:

  1)对const变量采用统一的编码风格能减少一些不必要的错误
  2)给函数传参时,尽量使用带const的引用方式
  3)返回结果迫不得已才使用const修饰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值