news 2026/4/15 6:01:05

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式学习!(一)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;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 4:44:26

OBS多平台直播终极指南:从入门到精通的完整方案

作为一名从单平台到多平台直播转型的内容创作者,我在使用obs-multi-rtmp插件的过程中积累了丰富的实战经验。今天与大家分享这套经过验证的完整方案,帮助你在多平台直播的道路上少走弯路。 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイ…

作者头像 李华
网站建设 2026/4/14 0:28:36

基于DeploySharp 的深度学习模型部署测试平台:支持YOLO全系列模型

1. 程序获取和下载基于DeploySharp 开发的深度学习模型部署测试平台,提供了YOLO框架的主流系列模型,包括YOLOv5~v13,以及其系列下的Detection、Segmentation、Oriented Bounding Box、Human Pose Estimation等应用场景。模型部署引擎支持Open…

作者头像 李华
网站建设 2026/4/13 15:30:00

思考与练习之答案与解析(第六章 程序控制结构)

一、单项选择题答案及解析1、④三种基本控制结构各有其用途,不能完全互相替代。顺序结构用于线性执行,选择结构用于条件分支,循环结构用于重复执行。虽然理论上可以用顺序和选择模拟循环(或反之),但这会使代…

作者头像 李华
网站建设 2026/4/13 16:40:39

深度学习图像处理之VGG网络模型

1 问题探索不同深度的VGG网络[_, 1, 28, 28][_, 16, 14, 14][_, 32, 14, 14][_, 64, 14, 14][-, 64, 7, 7][_, 128, 7, 7][_, 256, 7, 7][_, 256*7*7[_, 512][_, 10]维持特征图大小不变的情况下,持续提升通道数。2 方法VGG网络是由牛津大学的视觉几何组(Visual Geom…

作者头像 李华
网站建设 2026/4/8 10:39:00

Mermaid在线编辑器终极指南:轻松制作专业级可视化图表

还在为制作技术流程图而烦恼吗?Mermaid在线编辑器正是你需要的解决方案!这个基于SvelteKit框架构建的强大工具,让任何人都能快速创建精美的Mermaid图表,无需复杂的本地环境配置。今天我们就来一起探索这个宝藏工具的完整使用方法。…

作者头像 李华
网站建设 2026/4/10 23:17:05

Webpack模块解析陷阱:当“default“成为你的调试噩梦

Webpack模块解析陷阱:当"default"成为你的调试噩梦 【免费下载链接】vitest Next generation testing framework powered by Vite. 项目地址: https://gitcode.com/GitHub_Trending/vi/vitest 还记得那个让你熬夜到凌晨三点的诡异bug吗&#xff1f…

作者头像 李华