欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++ 学习笔记(二) const的加强

程序员文章站 2022-04-04 15:02:01
const 含义为只读。如果在程序中显式改变const变量那么编译会报错。 C语言的const: 在C语言中const 变量是放在内存中,如果使用指针可以简介改变const变量。所以在C语言中const变量是并非不可修改,演示如下: 从图片实例中看出,通过指针指向const变量是可以修改所在内存的值 ......

const 含义为只读。如果在程序中显式改变const变量那么编译会报错。

 

c语言的const:

在c语言中const 变量是放在内存中,如果使用指针可以简介改变const变量。所以在c语言中const变量是并非不可修改,演示如下:

C++ 学习笔记(二) const的加强

 

从图片实例中看出,通过指针指向const变量是可以修改所在内存的值。

 

 

c++中的const:

在c++中const变量不存放在内存中,而是存放在一个叫做“符号表”的东西里面(由编译器处理,里面的原理我也还没搞清楚,能用就好)。

比如:

const int a=10;//定义一个const 变量

那么在符号表里 符号a 就对应了数值 10。使用指针并不能改变a的值,实例:

C++ 学习笔记(二) const的加强

 

 

在例程中可以看出const修饰的a变量是不能被指针修改的,但是指针所指向的内存也确实被修改了。