C++中const符号表原理图 函数
const int a=10;spa
当碰见常量声明时,在符号表中放入常量作用域
编译过程当中若发现使用常量则直接以符号表中的值替换编译器
编译过程当中若发现对const使用了entern或者&操做符,则给对应的常量分配存储空间。编译
key value变量
a 10原理
结论:语言
C语言中const变量是只读变量,有本身的存储空间文件
C++中的const常量co
可能分配存储空间,也可能不分配存储空间
当const常量为全局,而且须要在其余文件中使用时;当使用&操做符取const常量的地址时-->分配存储空间
C++中的const常量相似于宏定义
const int c =5; ≈ #define c 5
C++中的const常量与宏定义不一样
const常量是由编译器处理的,提供类型检查和做用域检查
宏定义由预处理器处理,只是单纯的文本替换。
在函数fun中定义 const int a=10;
#define b 10
则在fun函数以外,只能够使用b而不能使用a!