@TOC
前言
从C演变而来的C++是一种功能更为丰富和面向对象的编程语言。在C++中,const关键字用于表示常量,其用法与C中的const有了一些进化和扩展。本文将探讨C到C++的const的进化,以及在C++中使用const的一些特性和用法。
C语言中的const
- const修饰的变量是只读的,本质上还是变量。
- const修饰的局部变量在栈上分配内存
- const修饰的全局变量在只读存储区分配 空间
- const只在编译期有用,在运行期无用
编译链接执行过程详解: 1、预处理期(Preprocessing):在此阶段,预处理器对源代码进行文本替换和宏展开等操作,处理以"#"开头的预处理指令,生成经过预处理后的源代码。
2、编译期(Compile Time):在编译期,编译器对预处理后的源代码进行词法分析、语法分析和语义分析,生成目标代码。编译器会检查语法错误和类型错误,并生成可执行文件或库文件。
3、链接期(Link Time):如果程序中包含多个源文件或使用了外部库,编译器会为每个源文件生成目标代码,然后在链接期将这些目标代码合并成一个可执行文件。链接器会解析各个目标代码之间的引用关系,并将它们正确地连接在一起。
4、运行期(Runtime):在运行期,已编译的程序被加载到计算机内存中,并开始执行。程序与操作系统和硬件交互,执行各种操作,包括变量的赋值、函数调用、条件判断等。
5、调试期(Debugging):调试期是指在程序的运行过程中,通过调试工具(如调试器)来检查和定位程序中的错误和问题。调试工具可以逐行执行代码、观察变量的值和执行状态,并进行错误排查和修复。
C语言的const只有在上述步骤2有用。
C语言中的const使得变量只具有只读属性 const将具有全局生命周期的变量存储到只读存储区 const不能属于真正的变量
标签:const,进化,只读,C++,编译,预处理,变量 From: https://blog.51cto.com/u_16176403/7412531