c++ const关键字总结

Posted zhouli_csdn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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修饰

以上是关于c++ const关键字总结的主要内容,如果未能解决你的问题,请参考以下文章

c++ const关键字总结

c++ const关键字总结

《c++ const 详细总结》--转载

关于C++ const 的全面总结

C++:const用法总结

关于C++ const 的全面总结《转》