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

嵌入式学习!(一)C++学习(16)入门-12/17

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;

http://www.jsqmd.com/news/107774/

相关文章:

  • 5大付费墙绕过技术深度解析:Bypass Paywalls Clean终极使用指南
  • 2025终极词库转换指南:一键搞定跨平台输入法迁移
  • 百度网盘提取码智能获取:5秒快速查询完整指南
  • 显卡驱动彻底清理终极指南:DDU工具深度解析与应用技巧
  • 中新全新医疗健康枢纽落户重庆,重庆鹏瑞利健康城项目启动 | 美通社头条
  • JumpCloud 远程助手漏洞可导致系统遭接管
  • 百事可乐无糖推出全新草莓奶昔味产品
  • 终极指南:5分钟上手Magpie-LuckyDraw多平台免费抽奖神器
  • Springboot商洛市精准扶贫管理系统h906y(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • MouseTester专业评测:4大核心维度深度解析鼠标性能表现
  • 哔哩下载姬DownKyi:专业级B站视频内容管理解决方案深度解析
  • Redis 生产环境命令管控规范
  • 百度网盘免费解析工具终极指南:彻底告别限速烦恼
  • GKD自动化工具:解放双手的终极手机助手 [特殊字符]✨
  • PMOST管防反接功能
  • 黑极光君与面包君的对话11
  • 硬件寄存器映射(位域结构体)
  • MOSFET栅极前面要加一个100Ω电阻
  • 状态机-–-behaviac
  • AI训练能效革命:从45分钟到3分钟的技术演进与行业影响
  • MOS 管栅极的 “充放电控制 + 可靠性
  • 终极免费抽奖神器:Magpie-LuckyDraw全平台部署指南
  • 终极免费解锁付费内容限制:Chrome扩展完整使用指南
  • Grafana MCP集成终极指南:5个快速提升监控效率的技巧
  • 选择监测节点-–-behaviac
  • OBS多平台直播终极指南:从入门到精通的完整方案
  • 5-Nitroindole Amidite,5-硝基吲哚核苷酸酰胺化试剂(5-硝基吲哚 Amidite)
  • 条件执行节点-–-behaviac
  • 哔哩下载姬DownKyi完整教程:从入门到精通的8大核心技巧
  • 5-FAM,单一异构体,5-Carboxyfluorescein, 5-FAM, 单一异构体