pangying_c++memory.pptVIP

  • 4
  • 0
  • 约1.21万字
  • 约 68页
  • 2016-08-21 发布于河南
  • 举报
pangying_cmemory

C++ Memory Pang Ying 2010.8.15 Overview Memory 多态 C++ Key words 内存管理 内存分布 内存使用规则 在构造函数中创建,析构函数中释放 智能指针( Smart Pointers )。使用了栈对象的思想 内存分布 1)代码段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; 2)静态存储区: * 初始化数据段(数据段)——初始化的全局变量,静态变量。 * 非初始化数据段(bss段)---没有初始化的全局变量,静态变量,内核将其初始化为0。 3)栈——增长方向:自顶向下增长;自动变量以及每次函数调用时所需要保存的信息(返回地址;环境信息)如:局部变量,参数。 由程序释放 4)堆——动态存储分。是向高地址扩展的数据类型,是自下向上的扩展方式。由程序员自己释放 5)文字常量——存放在编译时就能确定的字符串常量等,当程序结束时自动回收 静态存储区 存储内容有:全局对象,静态局部变量 全局变量在main函数中显示代码执行前已经分配好内存 void main(void) {   _main(); //隐式代码,由编译器产生,用以构造所有全局对象   … … // 显式代码   … …   exit(); // 隐式代码,由编译器产生,用以释放所有全局对象

文档评论(0)

1亿VIP精品文档

相关文档