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

C++中的内存管理方式

一、C++内存管理方式简介

C语言中的内存管理方式在C++中可以继续使用,但是在有些地方就无能为力,而且使用起来比较麻烦。因此C++中引入了自己的内存管理方式,通过new和delete操作符进行动态内存管理。

二、new语法

new可以申请1个或多个空间,且可以为这些空间初始化(未初始化的空间默认为0)

int* ptr1 = new int;//申请一个int大小空间,默认初始化为0
int* ptr2 = new int[10];//申请10个int大小空间,默认初始化为0int* ptr3 = new int(1);//申请一个int大小空间,初始化为1
int* ptr4 = new int[10] {1, 2, 3, 4, 5};//申请10个int大小空间,前5个空间初始化为1,2,3,4,5,后5个默认初始化为0

new申请空间无需手动检查是否失败,因为new申请空间失败后会抛异常

void func()
{int n = 1;while (1){int* ptr = new int[1024 * 1024 * 100];cout << n << "->" << ptr << endl;++n;}
}int main()
{func();//捕获异常try{func();}catch (const exception& e){cout << e.what() << endl;}return 0;
}

三、delete语法

delete在释放空间时,对于一次申请多个空间的需要带上[ ]

delete ptr1;
delete[] ptr2;
delete ptr3;
delete[] ptr4;

四、链表结点实例代码

new自定义类型空间时,编译器会自动调用该自定义类型的构造函数

struct ListNode {struct ListNode* _next;int _val;//构造函数ListNode(int val):_next(nullptr),_val(val){}
};
//构建链表
ListNode* CreateList(int n)
{ListNode head(-1);//哨兵位ListNode* tail = &head;int val;cout << "请依次输入" << n << "个结点值" << endl;for (size_t i = 0; i < n; i++){cin >> val;tail->_next = new ListNode(val);tail = tail->_next;}return head._next;
}

相关文章:

C++中的内存管理方式

一、C内存管理方式简介 C语言中的内存管理方式在C中可以继续使用&#xff0c;但是在有些地方就无能为力&#xff0c;而且使用起来比较麻烦。因此C中引入了自己的内存管理方式&#xff0c;通过new和delete操作符进行动态内存管理。 二、new语法 new可以申请1个或多个空间&…...

macos m1 arm芯片 使用jpype报错 FileNotFoundError: [Errno 2] JVM DLL not found

startJVM(jpype.getDefaultJVMPath()) 报错 Traceback (most recent call last):File "/Users/thomas990p/PycharmProjects/tuya/volcano-biz-scripts/WenKongFa/FinalCode/java2python/CallJavaAPI.py", line 12, in <module>startJVM(jpype.getDefaultJVMPa…...

Hive中UNION ALL和UNION的区别

1.概述 Hive官方提供了一种联合查询的语法&#xff0c;原名为Union Syntax&#xff0c;用于联合两个表的记录进行查询&#xff0c;此处的联合和join是不同的&#xff0c;join是将两个表的字段拼接到一起&#xff0c;而union是将两个表的记录拼接在一起。 换言之&#xff0c; jo…...

selenium高级应用

常见控件应用 复杂的控件操作1.操作Ajax选项2.滑动滑块操作 WebDriver的特殊操作元素class值包含空格property、attribute、text的区别定位动态id 截图功能页面截图页面截图&#xff0c;返回截图的二进制数据页面截图&#xff0c;返回base64的字符串截取指定元素。先定位元素&a…...

微信小程序重新加载当前页面、刷新当前页面

重新加载页面 使用wx.reLanuch&#xff08;&#xff09;&#xff0c;url: 路径当前页面跳转, 页面所有数据重新初始化&#xff0c;已配置的数据不会保存 wx.reLaunch({url: /pages/orders/createOrder/createOrder, // 当前页面的路径}) reLanuch()的方法&#xff0c;会有一个…...

如何查找、恢复误清空的 Android 回收站?

“我的回收站里有一些照片。当我点击“恢复”时&#xff0c;没有任何反应。我可以将我的 Android 手机插入我的电脑。这样我就可以手动恢复它们。但我在 Android 上找不到 bin 文件夹。我还可以做些什么&#xff1f;” 随着 Android 手机上的文件数量不断增加&#xff0c;了解…...

Node.js作用

Node.js可以开发应用 开发服务器应用 开发工具类应用 开发桌面端应用...

Web爬虫入门:原理、实现与常见问题解决指南

引言&#xff1a; 在当今数据驱动的时代&#xff0c;网络上蕴藏着无尽的信息宝藏&#xff0c;而爬虫技术则是探索和利用这些宝藏的重要工具。爬虫&#xff0c;简单来说&#xff0c;就是一种自动化程序&#xff0c;它能够模拟人类浏览网页的行为&#xff0c;从中提取所需数据。…...

蓝桥杯练习题——归并排序

1.火柴排队 思路 1.求最小值的时候&#xff0c;可以直接按升序排序&#xff0c;这样得到的值就是最小值 2.求最小交换次数的时候&#xff0c;不能直接排序&#xff0c;因为只能交换相邻的数&#xff0c;只需要知道他们的相对大小&#xff0c;所以可以先用离散化&#xff0c;把…...

C语言--- 指针运算笔试题详解

目录 题目1&#xff1a; 题目2&#xff1a; 题目3&#xff1a; 题目4&#xff1a; 题目5&#xff1a; 题目6&#xff1a; 题目7&#xff1a; 题目1&#xff1a; #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);print…...

甘特图是什么,怎么制作?一文让你看懂

甘特图是什么 甘特图是一种项目管理工具&#xff0c;通过图形化的方式直观的能体现出任务、进度和资源在时间里的关系。 白话文就是&#xff1a; 项目分解成了哪些任务?每天计划做什么任务&#xff1f;当前每个任务的进度是多少?项目整体进度是多少&#xff1f;这个项目有…...

mysql笔记:6. 存储引擎

文章目录 查看引擎信息常用引擎介绍InnoDBMyISAMMEMORY存储引擎的选择 数据库存储引擎是数据库底层组件&#xff0c;数据库管理系统使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等&#xff0c;使用不同的存储引擎&#…...

(golang)切片何时会创建新切片或影响原切片

什么时候切片操作会影响原切片 // 1.切片后没有触发slice的扩容机制时 什么时候对切片操作会创建新切片不影响原切片 // 2.对切片头元素进行截取的时候 // 3.当使用append时&#xff0c;len > cap则会触发扩容机制 前置&#xff1a; //slice结构体 type SliceHeader struct…...

前端面试——W3C标准及规范

W3C标准 1、万维网联盟标准不是某一个标准&#xff0c;而是一些列标准的集合。 简单来说可以分为结构、表现和行为 结构 主要是有HTML标签组成 表现 即指css样式表 行为 主要是有js、dom组成 web标准一般是将该三部分独立分开&#xff0c;使其更具有模块化。但一般产生行为时&…...

读算法的陷阱:超级平台、算法垄断与场景欺骗笔记07_价格歧视

1. 行为歧视 1.1. 单个企业通过使用数据驱动的算法&#xff0c;从而更好地实现锁定客户、开展个性化营销与定价的目的 1.2. 市场环境再次发生了变化 1.2.1. 在共谋场景中&#xff0c;定价算法提高了企业经营者在销量数据上的透明性&#xf…...

数据结构 之 链表LinkedList

目录 1. ArrayList的缺陷&#xff1a; 2. 链表&#xff1a; 2.1 链表的概念及结构&#xff1a; 3. 链表的使用和模拟实现&#xff1a; 3.1 构造方法&#xff1a; 3.2 模拟实现&#xff1a; 4. 源码分享&#xff1a; 在我学习顺序表之后&#xff0c;我就立马开始了链表的学…...

事务【MySQL】

事务的概念 引入 在 A 转账 100 元给 B 的过程中&#xff0c;如果在 A 的账户已经减去了 100 元&#xff0c;B 的账户还未加上 100 元之前断网&#xff0c;那么这 100 元将会凭空消失。对于转账这件事&#xff0c;转出和转入这两件事应该是绑定在一起的&#xff0c;任意一个动…...

Anaconda 的一些配置

Anaconda 安装及修改环境默认位置 https://blog.csdn.net/qq_54562136/article/details/128932352 最重要的一步&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;改文件夹权限 Anaconda创建、激活、退出、删除虚拟环境 修改pip install 默认安装路径...

利用Nginx正向代理实现局域网电脑访问外网

引言 在网络环境中&#xff0c;有时候我们需要让局域网内的电脑访问外网&#xff0c;但是由于网络策略或其他原因&#xff0c;直接访问外网是不可行的。这时候&#xff0c;可以借助 Nginx 来搭建一个正向代理服务器&#xff0c;实现局域网内电脑通过 Nginx 转发访问外网的需求…...

SpringMVC03、HelloSpring

3、HelloSpring 3.1、配置版 新建一个Moudle &#xff0c; springmvc-02-hello &#xff0c; 添加web的支持&#xff01; 确定导入了SpringMVC 的依赖&#xff01; 配置web.xml &#xff0c; 注册DispatcherServlet <?xml version"1.0" encoding"UTF-8…...

千问3.5-2B开源镜像部署教程:4.3GB权重免下载,24GB显存稳定运行

千问3.5-2B开源镜像部署教程&#xff1a;4.3GB权重免下载&#xff0c;24GB显存稳定运行 1. 平台介绍 千问3.5-2B是Qwen系列的小型视觉语言模型&#xff0c;它能够同时理解图片和生成文本。这个模型最特别的地方在于&#xff0c;你可以上传一张图片&#xff0c;然后用自然语言…...

DeepSeek-R1-Distill-Llama-8B在智能家居中的语音交互方案

DeepSeek-R1-Distill-Llama-8B在智能家居中的语音交互方案 1. 引言 智能家居正在改变我们的生活方式&#xff0c;但传统的语音助手常常让人感到"不够智能"——它们要么听不懂复杂的指令&#xff0c;要么无法理解上下文&#xff0c;要么反应迟钝。想象一下这样的场景…...

Pixel Aurora Engine入门指南:理解‘进化像素’设计哲学与生成逻辑

Pixel Aurora Engine入门指南&#xff1a;理解进化像素设计哲学与生成逻辑 1. 认识Pixel Aurora引擎 Pixel Aurora是一款专为像素艺术创作设计的AI绘图工作站。它采用复古游戏机风格界面&#xff0c;将现代AI技术与经典像素美学完美融合。这个工具最特别的地方在于&#xff0…...

AcousticSense AI零基础部署教程:5分钟搭建音乐流派识别工作站

AcousticSense AI零基础部署教程&#xff1a;5分钟搭建音乐流派识别工作站 1. 引言&#xff1a;让AI成为你的音乐鉴赏助手 你是否曾经遇到过这样的情况&#xff1a;手机里存了几百首下载的音乐&#xff0c;却因为缺乏分类而杂乱无章&#xff1f;或者作为音乐爱好者&#xff0…...

HUB75Enano:Arduino Nano 的轻量级 HUB75E 显示驱动库

1. HUB75Enano 库深度技术解析&#xff1a;面向 Arduino Nano 的紧凑型 HUB75E 显示驱动方案1.1 项目定位与工程约束本质HUB75Enano 是一个专为资源极度受限的 AVR 平台&#xff08;特别是 ATmega328P&#xff09;设计的 HUB75E 接口 LED 矩阵驱动库。其核心价值不在于功能堆砌…...

2 UI 设计师工具

2 UI 设计师工具 2.1 按键 QPushButton 1.按键插入&#xff1a;将左侧buttons中的pushbutton拖拽到右侧即插入一个按键。2.按键命名&#xff1a;可在objectName处直接更改按键名字。3.按键重命名&#xff1a;单调的命名可能会存在如下图问题&#xff0c;用户没有办法直接从按键…...

CVPR‘26 | 从任务统一到模态协同:电商通用多模态表征MOON 2.0

小记&#xff1a;自 2023 年以来&#xff0c;电商多模态表征模型 MOON 历经 3 年多的持续建设与迭代升级&#xff0c;已在阿里妈妈搜索直通车全面落地&#xff0c;并在多个核心场景中取得显著效果。以精排 CTR 预估模型为例&#xff0c;累计全量 5 期&#xff0c;带来大盘 CTR …...

用可逆数据结构实现 Harness 的无损回滚

用可逆数据结构实现 Harness 的无损回滚 1. 引入与连接:在复杂部署系统中寻找安全网 1.1 一个运维工程师的不眠之夜 2023年某个周五的晚上,9点37分,电商平台"SmoothShop"的CI/CD负责人张磊正准备关机下班,期待着即将到来的周末。突然,监控系统的警报声响彻整…...

Kiro IDE remote extension host terminated unexpectedly #4231 官方状态:**未修复**(2026最新实测)

【重要】Kiro AI 远程连接崩溃问题 #4231 官方状态&#xff1a;未修复&#xff08;2026最新实测&#xff09; 文章目录【重要】Kiro AI 远程连接崩溃问题 #4231 官方状态&#xff1a;**未修复**&#xff08;2026最新实测&#xff09;问题描述复现条件官方 Issue 真实状态影响范…...

TechWiz OLED应用:OLED中偏振光源的分析

1. 建模任务 1.1. 模拟条件  光源: EML Emitter (Unit source)  偶极子方向: Polarization  ExEy1/Phase-90˚, 90˚ (circular polarization)  波长: 380~780 nm (10 nm step)  视角: Theta: 0˚~90˚(10˚ step)/ Phi: 0˚~360˚(10˚ step) 1.2 堆栈结构 2.…...