当前位置: 首页 > news >正文

C++核心编程--1 内存分区模型

C++程序执行时,内存可以划分为4部分

  • 代码区:存放函数体的二进制代码

  • 全局区:存放全局变量、静态变量、常量

  • 栈区:局部变量、函数参数值,编译器自动分配和释放

  • 堆区:程序员自己分配和释放

1.1 程序运行前

程序运行前,内存分为两块:

代码区:

  1. 存放cpu执行的机器指令
  2. 代码区共享,对于频繁被执行的程序,内存中只需要存一份
  3. 代码区只读,防止意外修改

全局区:

  • 存放全局变量和静态变量、常量

1.2 程序运行后

栈区:

  • 函数形参放在栈区
  • 不要返回局部变量的地址,因为函数结束后系统将自动释放局部变量

堆区:

  • 程序员通过new在堆区分配内存,使用delete释放内存

(1)指针变量:

int * var = new int(10);
delete var;

(2)指针数组:

int * arr = new int[10];
delete[] arr;

http://www.xdnf.cn/news/470665.html

相关文章:

  • QT6 源(99)篇三,行输入框QLineEdit:信号与槽函数的学习与举例,以及附上源码
  • vue3:十三、分类管理-表格--行内按钮---行删除、批量删除实现功能实现
  • 多智能体Multi-Agent应用实战与原理分析
  • 车载诊断进阶篇 --- 车载诊断概念
  • 在批处理脚本中添加注释有什么作用
  • RabbitMQ最新入门教程
  • CoreDNS 的无状态设计与动态数据源
  • ssh快速连接服务器终端配置
  • 在你窗外闪耀的星星--一维前缀和
  • 第三十节:直方图处理-直方图比较
  • EtherCAT转EtherNet/IP解决方案-泗博网关CEI-382
  • 【Linux】基于虚拟机实现网络的管理
  • MSPM0--Timer(一口一口喂版)
  • 力扣-49.字母异位词分组
  • 缓存的相关内容
  • 搭建Centos环境安装禅道
  • 彻底解决sublime text4无法打开install package界面安装插件问题
  • 【匹配】Smith-Waterman
  • VMware虚拟机桥接模式无法联网的终极排查指南
  • 奇变偶不变,符号看象限
  • 博途软件直接寻址AMS348i读取位置值详解
  • 前馈神经网络回归(ANN Regression)从原理到实战
  • 2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(省赛)解题报告 | 珂学家
  • 【Java】Spring的声明事务在多线程场景中失效问题。
  • 以项目的方式学QT开发(二)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
  • ​​STC51系列单片机引脚分类与功能速查表(以STC89C52为例)​
  • 合并两个有序数组的高效算法详解
  • 多级分类的实现方式
  • Xinference推理框架
  • 遗传算法求解旅行商问题分析