c++ 中const 原理

前言

在c++ 中和别的语言不一样,高级语言是将const编译了,c又不同这里不介绍,而c++ 是实现了。

正文

const 原理

请看一个解析:

const a=10;
int*p=&a;
p=20;

在c语言中,a最后会等于20,但是c++并不会,原因在于c++ 的真正的实现了const。

在c++ 中,const 是一个另外的跟制符表有关的关键字。

c++ 首先将a 写入到制符表中,这个时候a 是无法修改的。

这里就会产生疑问了。

既然获取不到a的内存地址,那么p是如何等于&a的。

很奇怪的问题。

实际上

int*p=&a;

会创建一个匿名地址,然后复制给20。

posted @ 2020-06-15 09:42  敖毛毛  阅读(441)  评论(0编辑  收藏  举报