c++中的空间与时间

     c++中存在许多与空间,时间相关的内容,下面从空间,时间角度了解c++。

空间:

     内存空间:  进程内存空间分为四块:  1. 代码区 2. 全局变量,静态变量区   3.栈区   4. 堆区(程序员使用的内存)

     命名空间: 为了避免命名冲突。常需将单独的模块命名新的空间,则在该命名空间中可以不考虑命名出与重名的问题,需要使用该命字空间内的对象或函数需引用该命名空间。 namespace  name1 { ......    }    using namespace name1;  如std标记模板库命字空间。       

     作用域:     就是对象发挥作用的范围。 如全局变量的作用范围是整个程序中可见,函数域中的局部变量只对当前函数可见。类型域中的对象只在该类型域中可见,如类对象。作用域也包含命名空间。    

时间:    

      从程序开发,编译,运行的角度划分时间段将程序分为:   预处理时间,编译时间,链接时间,运行时间。

      预处理时间: 程序开发完后,还没编译前,编译器将做一些预处理。 将像是提交报告前,再整理一下资料。 预处理阶段主要包括:1.  替换宏语句 (#define) 2. 加载头文件,将#include 命令用原.h文件替换(#include).3.条件编译,根据编译条件指定哪部分被编译,哪部分不部编译(#if #else).  预处理的目的是为了编译做准备,从上述三条预处理命令可看出,是为了用户更好更方便的编辑,开发程序。

      编译时间:  c++编译就是编译各个.cpp文件,.h文件在预处理阶段已处理包含进.cpp中。编译阶段主要检验变量,函数是否有声明,语句语法是否合理,然后将文本翻译成一个个目标文件,最后由链接器链接成可进行文件。编译阶段还为c++中的模板,模板类确定其数据类型,并进行编译。    

      链接时间:   将各个编译好的obj目标文件,链接成一个可执行的文件(exe,dll等)。链接主要是处理外部模块引用,帮助建立映射关系。

      运行时间:程序占据内存完成功能任务。c++中的多态类则在运行中通过虚表机制实现其多态效果。(多态性是指一段程序能够处理多种类型对象的能力)

 

   

  

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值