Simplified Memory Modle C/C++内存模型

Posted kuotian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Simplified Memory Modle C/C++内存模型相关的知识,希望对你有一定的参考价值。

  最近学习c++看视频时,老师时常提到栈区堆区,搞不清楚,只能泪目,毕竟爱过。。。因此,接下来对此做些整理,方便回顾。(老师说:这个简化模型仅用于初学者示意,与实际模型并不完全一致)

1.stack(栈)

  编译器自动分配释放

2.Heap(堆)

  一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收

3.Global/Static(全局区/静态区)

  全局变量和静态变量的存储是放在一块的

  可以简单认为:

    程序启动全局/静态变量就在此处

    程序结束释放

4.Constant(常量区)

  可以简单理解为所有常量都放在一起

  该区域内容不可修改

技术分享

堆向高地址方向生长   栈向地地址方向生长

 

Eg1.

int arr[3];    //全局区

int myFunc( int * pi)

{

  int a;    

  char *p;

  p = static_cast<char*> new char[8];

  char* str = "hello world";

}

//pi a p str --->栈区

//char[8](new出来的) --->堆区

//"hello world"--->常量区

以上是关于Simplified Memory Modle C/C++内存模型的主要内容,如果未能解决你的问题,请参考以下文章

包含gorm.modle的结构体如何查询

easyExcel-modle

要想获取select的值,使用ng-modle,否则无法获取select 的值

[转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

BOX-MODLE类型的简介

Django-website 程序案例系列-16 modle.form(表单验证)