固原市网站建设_网站建设公司_JSON_seo优化
2025/12/18 3:18:50 网站建设 项目流程

C++核心编程:面向对象

1. 内存分区模型

执行程序时,内存分为4个区域:

@ 代码区:存放函数二进制代码,有操作系统进行管理

@ 全局区:存放全局变量和静态变量及常量

@ 栈区:由编译器自动分配释放,存放函数的参数值,局部变量等

@ 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收

1.1 程序执行前

编译后,生成exe文件,未执行程序前分为两个区域:

代码区:存放CPU执行的机器指令

特点:共享、只读

全局区:存放全局变量和静态变量

还包含常量区、字符串常量和其他常量

该区域数据在程序结束后由操作系统释放

tips1:静态变量:在普通变量前加上 static

tips2:常量:字符串常量 "world"; const修饰的变量(全局、局部)

1.2 程序执行后

栈区:由编译器自动分配释放,存放函数的参数值,局部变量等

注意事项:不要返回局部变量的地址,栈区开辟的数据有编译器自动释放

堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收

C++中注意利用new关键字在堆区开辟内存

1.3 new 操作符

堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete

语法:new 数据类型

利用new创建的数据,会返回该数据对应的类型指针

int * p = new int(10); // new 返回的值是个地址,堆区中 值为10 的 地址

delete p; //释放堆区内存

开辟一个数组: int * arr = new int[10]; //用中括号 [ ]

释放:delete [ ] arr;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询