2.2.2 C++的存储属性
存储属性是对作用域和生存期的抽象。C++的存储属性有以下四种:
auto(自动)
register(寄存器)
extern(外部)
static(静态)
在声明和定义程序实体时,可使用上述关键字来说明程序实体的存储属性。其格式为:
存储属性 类型 标识符=初始化表达式;
1. auto型
属于auto型的程序实体,称为自动程序实体,它采用的是栈分配存储模式。在C++中,auto可以不写,即程序实体的默认方式为auto。如:
auto int a; // 等价于int a
在C++中,以自动型变量用得最多,它的作用域具有局部属性,即从定义点开始至本函数(或块)结束。其生存期自然也随函数(或块)的销毁而销毁。因而通常称其为局部变量,具有动态生存期。
2. register型
register型程序实体和auto型程序实体的作用相同,只不过其采用的是寄存器存储模式,执行速度较快。当寄存器全部被占用后,余下的register型程序实体自动成为auto型的。只有整型程序变量可以成为真正的register型变量。
3. extern型
用extern声明的程序实体称为外部程序实体。它是为配合全局变量的使用而定义的。所谓外部变量,就是在块外保持不变,并不因块内发生变化而影响到块外。例如:
//filename:ex221.cpp
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究C++程序设计教程 第2章 过程的组织和管理(8)全文阅读和word下载服务。
相关推荐: