存储区——全局、自由、堆栈、寄存器、代码

  • 代码存储区顾名思义就是存储代码的区域。
  • 寄存器主要又操作系统软件和硬件协同管理,一般程序员不用了解太多。存储栈顶指针、指令指针等。
  • 全局存储区主要存储全局变量。生命周期是程序的长短。
  • 堆栈:局部变量和函数参数,生命周期在函数返回之前有效。因为函数被调用的过程类似于中断嵌套过程,因此是用栈这种后进先出的逻辑结构来存储的。
  • 自由存储区:new-delete之间有效。

这里我们必须要了解的是堆栈和自由存储区。

举个很简单的例子:

#include <iostream> using namespace std; class Dog{ public: Dog(){cout<<"constructor..."<<endl;} ~Dog(){cout<<"destructor..."<<endl;} }; int main() { cout<<"create a var"<<endl; Dog var; cout<<"create a point"<<endl; Dog *pvar=new Dog; cout<<"delete a point"<<endl; delete pvar; pvar=0; cout<<"end function"<<endl; return 0; }

 

存储区——全局、自由、堆栈、寄存器、代码_第1张图片

 

你可能感兴趣的:(function,delete,存储)