【C++系列】指针常量和常量指针?咱从本质出发,很好区分!!
题记
一些小朋友老是分不清楚这两个东西,其实你把格局放大一些,就会发现其实他们两个很好区分!其实不需要特意去记忆,理解起来很容易的
正文
一、指针常量
int const * point = & value ;
1. 首先,咱不需要理解这个名字顺序啥的,只需要看懂这个式子就可以:
先把这个拆开来看,先int一个整数类型的变量
int 我是变量 = 我是数值
2. 然后"我是变量"是啥呢?
const * point
这就是指针常量,划重点:首先它得是个指针,然后这个指针是个常量,所以叫指针常量,
类似于整数常量、分数常量、圆周率常量等。。
3. 最后就是后面的取地址了
& value
4. 其实他就是引用的本质
你定义了个:
int & point = value
其实也就是定义了
int const * point = & value
二、常量指针
constant int value = 114514 ;
const int * point = & value ;
这个咱拆成两部分:
1. 第一部分
const 修饰,表示常量,不变的,固定的
2. 第二部分
int * point
这是一个指针的定义,好吧,没啥难的
3. 最后就是后面的取地址了
& value