C++是在C语言的基础之上发展起来的。它既适合于编写面向过程的程序,也适合于编写面向对象的程序。在C语言推出之前,操作系统等系统软件主要是用汇编语言编写的。由于汇编语言依赖于计算机硬件,因此程序的可移植性和可读性就较差。但汇编语言也有它的好处,它能对硬件直接进行操作,速度快,效率高,一般高级语言没有这种功能。于是,1973年,贝尔实验室的Thompson和Ritchie开发了C语言,并用它重写了UNIX的大部分代码。C语言
(1) 静态分配
系统可以为每个程序开辟一个固定的静态数据区。存于这区域中的程序实体在编译时即被预分配存储空间,并且在程序开始执行时就被创建,一直到程序结束才被撤消,故称为永久存储。静态分配的特点是与程序共存亡,具有静态生存期。这种分配适合于那些在程序中用得不多,但要为多个函数共用的程序实体。
(2) 栈分配
栈是系统为程序开辟的活动存储区,它是程序使用最频繁的存储区。一个实体,一旦在一个函数内部或一个块内部被声明,系统便在栈中创建它们;该块或函数执行结束,遂将其弹出撤消。这种程序实体具有局部生存期,即它与所在的块共存亡。这种分配适合于那些在程序中使用频繁的程序实体,随建随撤,节省空间。
(3) 动态分配
动态分配将产生一种完全由程序员控制生存的程序实体。在C++中,程序员可以利用专门的运算符new和delete来创建和撤消程序实体。
(4) 只读分配
即用const声明的程序实体,可以认为是被创建在程序的只读存储区中。
作用域实际上就是程序实体的作用范围,而在此范围之外,该程序实体是不可见的。C++的这种特性使得在同一个程序中使用两个名字相同的程序实体成为可能,只要这两个程序实体的作用域不同就行。
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究C++程序设计教程 第2章 过程的组织和管理(7)全文阅读和word下载服务。
相关推荐: