news 2026/4/23 15:01:34

嵌入式学习!(一)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/23 12:23:38

Redis 生产环境命令管控规范

目录Redis 生产环境命令管控规范文档说明一、禁用/限制的高危命令1.1 分类及风险说明1.2 管控方式1.2.1 永久禁用/重命名(推荐,redis.conf 配置)1.2.2 动态管控(临时生效,无需重启)1.2.3 Redis 6.0 ACL 精细…

作者头像 李华
网站建设 2026/4/23 12:24:39

终极免费解锁付费内容限制:Chrome扩展完整使用指南

在数字信息时代,优质内容却被访问限制层层封锁,让无数求知若渴的用户望而却步。现在,Bypass Paywalls Clean Chrome扩展为您提供了完美的解决方案,让您轻松突破各大媒体平台的访问限制,畅享丰富优质内容。 【免费下载链…

作者头像 李华
网站建设 2026/4/23 12:20:20

PHP 图像处理实战 GD/Imagick 从入门到精通,构建高性能图像服务

心价值构建可靠的 PHP 图像处理流水线,支持尺寸调整、裁剪、方向校正和文件优化基于明确的技术指标选择 GD 或 Imagick,避免盲目决策掌握 cover 和 contain 适配模式的正确应用,支持自定义焦点合理选择现代图像格式(WebP/AVIF、渐…

作者头像 李华
网站建设 2026/4/23 1:02:44

思考与练习之答案与解析(第五章 基本数据类型)

一、单项选择题答案及解析1、②Python 的整数(int)类型采用可变长度的表示方式,能够自动处理大整数,其大小只受计算机可用内存的限制,这与许多其他语言(如 C、Java)的固定长度整数有本质区别。这…

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

告别腾讯游戏卡顿:sguard_limit资源限制器完整使用指南

还在为腾讯游戏关键时刻的突然卡顿而烦恼吗?ACE-Guard反作弊系统虽然保障了游戏安全,但其资源占用机制却成为游戏流畅度的"主要影响因素"。本文将为你详细解析sguard_limit这款专业资源管理工具的安装配置方法,让你的游戏体验重回巅…

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

12月17号:买入和博弈预期有关

什么时候可以买入?无非是看到了熟悉的模式买点,拆解的话,可能是看到市场情绪连续分岐达到了冰点、可能看到了情绪昨天分岐今天竞价转修复、可能看到了市场容错率在回暖并且有明显的抗跌逆势的品种,总统来说就是看到了一些可以进攻…

作者头像 李华