【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

4. 其实他就是能够指向常量的一个指针,说白了就是能指向石头,其他指针都指向不了这个大石头

三、从本质理解,不要盲目记忆

posted @ 2024-11-21 21:12  泪水下的笑靥  阅读(2)  评论(0编辑  收藏  举报