C++的内存管理
@[TOC}
C++的内存管理

各个区储存内容
1.栈
局部变量和在执行函数时,函数中创建的局部变量都会在栈上创建,函数执行结束时会被自动释放。从高地址向低地址储存。
2.堆
是new/malloc/calloc/realloc分配的代码块,需要手动释放。如果程序员没有手动释放,在程序结束后,操作系统会自动释放回收。从低地址向高地址储存。
3.内存映射区
4.静态区/数据段
全局变量和静态变量储存在这。
5.常量区/代码区
存放常量,不允许改变。
#include<iostream>int globalVar = 1;
static int staticGlobalVar = 1;
void Test()
{static int staticVar = 1;int localVar = 1;int num1[10] = { 1, 2, 3, 4 };char char2[] = "abcd";const char* pChar3 = "abcd";int* ptr1 = (int*)malloc(sizeof(int) * 4);int* ptr2 = (int*)calloc(4, sizeof(int));int* ptr3 = (int*)realloc(ptr2, sizeof(int) * 4);free(ptr1);free(ptr3);
}
1.globlVar是全局变量,储存在静态区/数据段;
2.staticGlobalVar是全局的静态变量,储存在静态区/数据段;
3.staticVar是静态变量,储存静态区/数据段;
4.localVar是局部变量,储存在栈区;
5.nums1是局部变量,储存在栈区;
6.char2是局部变量,储存在栈区;
7.*char2 指的是首元素的地址,而 char2 是在栈上的数组,所以存放在栈区;
8.pChar3 是局部的指针,存的是 “a,b,c,d\0” 这个常量字符串的首元素地址 ,存放在栈区;
9.*pChar3 是对其解引用,结果就是 “a,b,c,d,\0” 这个常量字符串,存放在代码段;
10.ptr1 是局部的指针,存的是开辟的空间的首元素地址,存放在栈区;
11.*ptr1 是对其解引用,存的就是开辟的空间,存放在堆区;
相关文章:
C++的内存管理
[TOC} C的内存管理 各个区储存内容 1.栈 局部变量和在执行函数时,函数中创建的局部变量都会在栈上创建,函数执行结束时会被自动释放。从高地址向低地址储存。 2.堆 是new/malloc/calloc/realloc分配的代码块,需要手动释放。如果程序员没…...
YZ系列工具之YZ09:VBA_Excel之读心术
我给VBA下的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套一部VBA手册,教程分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的…...
嵌入式系统---看门狗
在嵌入式系统中,看门狗定时器(Watchdog Timer,WDT)是一种常用的机制,用于检测和恢复系统在异常情况下的故障。如果系统因为某种原因(如软件死循环)而变得无响应,看门狗定时器可以自动…...
从MySQL5.7迁移到8.0时,有哪些重要的参数调整或新参数需要注意?
从 MySQL 5.7 迁移到 MySQL 8.0 时,有一些重要的参数调整和新参数需要注意。MySQL 8.0 引入了许多新功能和改进,同时也对一些现有参数进行了更改或废弃。 1. lower_case_table_names 说明: 控制表名是否区分大小写。重要性: 在迁移过程中,确…...
完整发布/上传uniapp Ios应用到App Store流程
使用uniapp打包,假如使用app store证书打包出来的ipa文件,需要上传到app store上才能上架。假如你还没有app store证书,还没有打包,你可以参考下面这篇文章,先创建打包证书再继续看这篇上架的教程:https://…...
CodeActAgent :Executable Code Actions Elicit Better LLM Agents解读
论文地址 https://arxiv.org/pdf/2402.01030.pdf 项目地址 https://github.com/svjack/CodeActAgent-Gradio/blob/main/README.md 代码智能体的优势 选择代码智能体有以下几个关键原因,它们相较于使用类似JSON的字典输出具有显著优势: 1. 代码的高…...
中小型医院网站开发:Spring Boot入门
2 相关技术简介 2.1 Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,…...
Java读取PDF后做知识库问答_SpringAI实现
核心思路: 简单来说,就是把PDF文件读取并向量化,然后放到向量存储里面,再通过大模型,来实现问答。 RAG(检索增强生成)介绍: 检索增强生成&#x…...
打开exe程序显示没有适当的访问权限
打开exe程序显示没有适当的访问权限 打开.exe可执行程序,显示Windows 无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。 解决方法 鼠标选中该文件或文件夹,右键单击选择属性,在弹出的属性选项卡中切换到安全选项卡…...
Python异步编程:使用`create_task`并发执行协程
Python异步编程:使用create_task并发执行协程 1. 什么是create_task?2. 为什么需要create_task?3. 如何使用create_task?3.1 基本用法3.2 任务的返回值 4. 注意事项5. 总结 在Python的异步编程中,asyncio库为我们提供了…...
从零开始搭建你的DolphinScheduler分布式任务调度平台实战指南
文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内…...
第五课:Python学习之if语句
判断(if)语句 目标 开发中的应用场景if 语句体验if 语句进阶综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?…… 程序中的判断 # 定义…...
群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP
有nas的相信对公网都不模式,在现在基础上传带宽能有100兆的时代,有公网代表着家里有一个小服务器,像百度网盘,优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip,要么自己买个云服务器做内网穿…...
【秋招笔试】10.13拼多多(已改编)秋招-三语言题解
🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集…...
50个JAVA常见代码大全:学完这篇从Java小白到架构师(附带讲解)
基础语法 1. Hello World public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");} }讲解 这是一个典型的Java程序,它定义了一个名为HelloWorld的类,该类包含一个main方法——Java应用程序的入口点。System.o…...
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.0 SP1升级到SP3操作方法(x64)
1、首先安装时候选择升级SQLEXPRADV_x64_CHS.exe。 2、接着安装SQLServer2008R2SP1-KB2528583-x64-sp1补丁后10.50.2500.0。 3、接着安装升级SQLEXPRWT_x64_CHS.exe。 4、继续安装SP3:SQLServer2008R2SP3-KB2979597-x64-CHS。 5、最后安装SP3补丁:SQ…...
Centos7安装Git及配置Github
Background Git 是一个开源的分布式版本控制系统,由 Linus Torvalds(Linux 内核的创始人)在 2005 年创建。它被设计用来快速有效地处理从小到大的项目版本管理。Git 目前是全世界最流行的版本控制系统,广泛应用于软件开发中。 1、…...
MobileNet v3(相比于MobileNet v2)
概述: 更新Block(bneck) 使用NAS搜索参数 (Neural Architecture Search) 重新设计耗时层结构 更准确,更高效 以及表中数据展示 更新Block 1.加入SE模块 2.更新了激活函数 首先通过一个1*1的卷积层来进行一个升维处理&#…...
短视频剪辑入门指南:这四大软件值得推荐!
要在众多的短视频作品中脱颖而出并不容易,这就要求制作者不仅要具备良好的创意,还需要掌握一定的剪辑技巧。这里给大家推荐几个好用的短视频剪辑工具! 福昕视频剪辑 直达链接:www.pdf365.cn/foxit-clip/ 操作教程:立…...
网络编程(22)——通过beast库快速实现websocket服务器
目录 二十二、day22 1. websocket简述 2. 基于TCP长连接实现sebsocket a. Connection b. ConnectionMgr c. WebServer d. 编译的小问题 3. 测试 4. 基于http实现的websocket 二十二、day22 因为http受限于请求-响应模式,客户端发起请求,服务器…...
用Python和Keras从零搭建一个BiLSTM入侵检测模型(基于NSL-KDD数据集)
用Python和Keras从零搭建BiLSTM入侵检测模型实战指南 在网络安全领域,入侵检测系统(IDS)正经历着从传统规则匹配到智能分析的范式转变。本文将带您使用Python生态中的Keras框架,基于经典的NSL-KDD数据集,构建一个具备实战价值的双向长短期记…...
【Linux 物联网网关主控系统-Web部分(四)】
Linux 物联网网关主控系统-Web部分(四)调用关系总体框架main.htmltop.htmlleft.htmlright.htmlcgi部分调用关系 总体框架 main.html 调用的 HTML: top.html left.html right.html (框架集页面,加载顶部、左侧、右侧三…...
GitHub加速革命:告别龟速下载,提升开发效率的终极方案
GitHub加速革命:告别龟速下载,提升开发效率的终极方案 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 在深…...
使用MobaXterm高效管理远程PyTorch训练:图形化SFTP与中文设置
使用MobaXterm高效管理远程PyTorch训练:图形化SFTP与中文设置 1. 为什么选择MobaXterm进行AI开发 在深度学习项目开发中,我们经常需要在远程服务器上运行PyTorch训练任务。传统的SSH工具虽然能完成基本操作,但在文件传输、可视化管理和多任…...
AI 净界环境搭建:利用 Docker 镜像免配置运行
AI 净界环境搭建:利用 Docker 镜像免配置运行 你是不是也遇到过这样的烦恼?好不容易拍了一张满意的照片,或者找到一张心仪的素材图,却因为背景杂乱而无法直接使用。用传统的抠图工具,要么边缘粗糙得像狗啃的ÿ…...
Qwen3-VL-30B快速上手:开箱即用,打造你的专属多模态AI
Qwen3-VL-30B快速上手:开箱即用,打造你的专属多模态AI 1. 为什么选择Qwen3-VL-30B? 在当今AI技术飞速发展的时代,多模态模型正成为行业新宠。Qwen3-VL-30B作为Qwen系列的最新力作,带来了多项突破性升级: …...
OpenClaw故障排查指南:Qwen3.5-9B-AWQ-4bit接口连接失败解决方案
OpenClaw故障排查指南:Qwen3.5-9B-AWQ-4bit接口连接失败解决方案 1. 问题背景与典型症状 上周我在本地部署Qwen3.5-9B-AWQ-4bit模型时,遇到了OpenClaw连接失败的棘手问题。明明模型服务已经启动,但OpenClaw始终报错"Model provider un…...
ccmusic-database快速部署:Conda环境隔离安装torch+gradio无冲突指南
ccmusic-database快速部署:Conda环境隔离安装torchgradio无冲突指南 1. 项目简介与环境准备 ccmusic-database是一个基于深度学习的音乐流派分类系统,能够自动识别16种不同的音乐风格。这个系统结合了计算机视觉领域的VGG19_BN预训练模型和音频处理技术…...
用rosbags工具5分钟搞定ROS1/ROS2数据包转换(含自定义消息处理技巧)
5分钟极速转换ROS1/ROS2数据包:rosbags工具高阶实战指南 在机器人开发领域,数据包的兼容性问题一直是开发者面临的痛点。当我们需要在ROS1和ROS2之间迁移项目时,传统方法往往需要复杂的桥接配置和漫长的等待时间。今天要介绍的rosbags工具&am…...
一键迁移方案:OpenClaw配置备份与Qwen3-4B模型快速恢复
一键迁移方案:OpenClaw配置备份与Qwen3-4B模型快速恢复 1. 为什么需要配置迁移方案 上周我的开发机突然硬盘故障,导致所有OpenClaw配置丢失。重新配置飞书通道、模型连接和技能库花了大半天时间。这次教训让我意识到:自动化工具的配置本身也…...
