1、C++中的变量有那些存储类型?
变量的存储类型会告诉编译器将数据存储在什么地方。在C++中,除了普通变量auto类型外,变量主要有三种存储类型:外部变量extern、静态变量static和寄存器变量register。
(1)外部变量extern类型:顾名思义,用extern描述的变量是定义在该文件外部的变量。在当前文件中使用extern再次声明该变量,就可以将外部文件作用域的变量的作用域扩展到当前文件中。
(2)静态变量static类型:同全局变量一样,静态变量保存于全局存储区;该类型变量在定义的时候初始化,并且仅仅初始化一次;静态变量的生命周期为整个进程的执行过程;
(3)寄存器变量register类型:此类变量存放于CPU的寄存器中,因此存取速度很快;通常只用于局部变量和函数的形参;
2、C++如何控制变量的存取?
控制变量的存取可以使用const、volatile修饰符;
(1)const类型:常数型数据,const型变量在定义的时候赋初值,程序在运行过程中不能对其修改;通常可用于修饰函数不必要修改的参数;
(2)volatile类型:暂态类型,用于可能被隐式修改的变量;主要影响编译器的处理效率;
3、C++对象的生存期和作用域
所谓生存期,表示某对象从被创建开始到释放掉的过程。局部对象、静态对象、全局对象的声明周期分别为块执行过程、从创建开始到进程退出、进程开始到进程退出。同时还存在类作用域,更复杂的还有局部类和嵌套类等。具体情况还需要具体分析。
时间: 2024-09-22 22:15:16