const的用法

const int a 表示a是一个整形常量,可以理解为修饰int
int const a 表示a是一个整形常量,可以理解为修饰int
int* const a 表示a是一个常指针,指针位置不能改变,可以理解为修饰*
const int* a 表示a指针必须指向一个整形常量,指针位置可以改变,可以理解为修饰int
int const * a 表示a指针必须指向一个整形常量,指针位置可以改变,可以理解为修饰int
const int* const a 表示a是一个常指针,指针指向一个整形常量,可以理解为修饰int和*

规律:
在int 左右的const都是修饰它的
在*右边的const才是修饰它的

补充:常引用
const string& a
或者
string const & a
注意:string &const a这种写法是错误的
常引用时:引用的内容不能改变。
有人会问,引用不改变的方法是什么?答案是引用本来就是不可改变的。对引用赋值其实是改变了引用的变量的值。
很多库中函数参数为什么经常是常引用呢?原因是将常引用实参传递给引用类型的型参会报错,而将引用类型的实参传递给常引用类型的型参不会报错。

继续补充:常数组
const int a[3]
或者
int const a[3]
表示数组内容不能改变。
其实数组头指针本来就不能改变因此这种情况是头指针和数组内容都不能被改变。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C中常用:“ #define 变量名 变量值”定义一个值替代,然而却有个致命缺点:缺乏类型检测机制,这样预处理在C...
    ater_man阅读 1,927评论 0 2
  • const的用法,特别是用在函数后面 在普通的非 const成员函数中,this的类型是一个指向类类型的 cons...
    IvanRunning阅读 702评论 0 1
  • const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性...
    My_z_mine_Z阅读 2,298评论 0 3
  • 在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但...
    城市之光阅读 586评论 0 0
  • 西门大官人的计划完美得逞,即抱得美人归,又有白花花的银子白白入账。真可谓一箭双雕。 自从这李瓶儿来到西门府,就招...
    风月无疆阅读 603评论 0 0