C/C++内存管理(1):C/C++内存分布,C++内存管理方式

一、C/C++内存分布

1.1

1.2

二、C++内存管理方式

C++可以通过操作符newdelete进行动态内存管理

2.1 newdelete操作内置类型
int main()
{int* p1 = new int;// 注意区分p2和p3int* p2 = new int(10);// 对*p2进行初始化 10int* p3 = new int[10];// p3 指向一块40个字节的int类型空间int* p4 = new int[10]{ 1, 2, 3 };// 对p4所指空间进行初始化delete p1, p2, p3, p4;// 释放空间return 0;
}

内置类型对象的申请和释放,newdeletemallocfree除使用上,没有任何区别

2.2 操作自定义类型
struct ListNode
{int _val;ListNode* _next;ListNode(int x = 0):_val(x),_next(nullptr){}
};int main()
{ListNode* p1 = new ListNode[3]{ ListNode(1), ListNode(2), ListNode(3) };ListNode* p2 = new ListNode[3]{ 2, 2, 3 };// 与`malloc`相比,`new`可以对自定义类型进行初始化delete p1;delete p2;return 0;
}

在申请和释放自定义类型的空间时,new会调用构造函数,delete会调用析构函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/157586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#,数值计算——插值和外推,PolCoef的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// polynomial coefficients from polynomial values /// </summary> public class PolCoef { public PolCoef() { } /// <summary>…

第十二章 控制值的转换

文章目录 第十二章 控制值的转换介绍处理特殊 XML 字符文字和 SOAP 编码格式的转义形式 示例防止泄漏的另一种方法 第十二章 控制值的转换 类和属性参数 ESCAPE CONTENT XMLTIMEZONE DISPLAYLIST VALUELIST XMLDEFAULTVALUE XMLLISTPARAMETER XMLSTREAMMODE 介绍 支…

【Linux】:共享内存

共享内存 一.原理二.创建共享内存1.shmget2.写一个共享内存代码 三.进行通信1.各种接口2.各接口使用代码3.一次简单的通信四.共享内存的特点 一.原理 直接原理 共享内存顾名思义就是共同使用的一块空间。 很明显操作系统需要对这块内存进行管理&#xff0c;那么就避免不了先描…

动态规划45(Leetcode790多米诺和拖米诺平铺)

代码&#xff1a; &#xff01;&#xff01;动态规划基础版完结撒花&#x1f389; class Solution {public int numTilings(int n) {long MOD 1000000007;int[] dp new int[n1];dp[0]1;for(int i1;i<n;i){dp[i]dp[i-1]%MOD;dp[i]%MOD;if(i>2){dp[i]dp[i-2]%MOD;dp[i]…

mysql命令行(mysql-client)连接数据库

有时项目连接不上数据库&#xff0c;报错鉴权失败&#xff0c;先用mysql工具连接下&#xff0c;容易发现问题。 直接输入mysql看是否已安装&#xff0c;如果没有就安装下。 yum -y install mysql-client; 这个名称一直记不准&#xff0c;有时记为mysql-cli&#xff0c;结果发现…

Python pip 镜像源设置指南

文章目录 Python pip 镜像源设置指南前言安装单个包使用PyPI镜像使用镜像升级 pip设为默认pip镜像结语 Python pip 镜像源设置指南 前言 平时在使用 pip 安装一些包的时候速度非常慢,本文介绍如何在 Python3 下设置 PyPI 设置镜像源,本文以给 Python3 设置清华 镜像源举例. …

2023.11.20使用flask做一个简单图片浏览器

2023.11.20使用flask做一个简单图片浏览器 功能&#xff1a; &#xff08;1&#xff09;输入指定路径&#xff0c;打开文件夹 &#xff08;2&#xff09;判断文件格式为图片 &#xff08;3&#xff09;在前端进行预览 &#xff08;4&#xff09;使用bootstrap进行简单美化 ma…

win11,引导项管理

1&#xff0c;打开cmd,输入msconfig 2,进入引导选项卡 3&#xff0c;删除不需要的引导项

【CSH 入门基础 9 -- 输出 csh 脚本中每一句命令】

文章目录 输出csh脚本中每一句命令 输出csh脚本中每一句命令 在 csh 或 tcsh 脚本中&#xff0c;如果你想要输出脚本中的每一句执行&#xff0c;你可以在脚本的开头使用 -v&#xff08;verbose&#xff09;选项。这个选项会使得 shell 在执行命令前先打印出来。 要在脚本中使…

蓝桥杯每日一题2023.11.21

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 思路&#xff1a; 1.去重排序将其进行预处理 2.用gcd得到最简比值 3.用gcd_sub分别计算分子、分母的指数最大公约数 #include<bits/stdc.h> using namespace std; const int N 110; typedef long long ll; ll…

前端性能优化之LightHouse

优质博文&#xff1a;IT-BLOG-CN 一、LightHouse环境搭建 LightHouse是一款由Google开发的开源工具&#xff0c;用于评估Web应用程序的性能和质量。可以将其看作是一个Chrome扩展程序运行&#xff0c;或从命令行运行。为LightHouse提供一个需要审查的网址&#xff0c;它将针对…

展开语法、剩余语法

展开语法定义 展开语法Spread Syntax&#xff0c;可以在函数调用/数组构造时&#xff0c;将数组表达式或者string在语法层面展开&#xff1b;还可以在构造字面量对象时&#xff0c;将对象表达式按照key-value的方式展开。&#xff08;字面量一般指[1, 2, 3]或者{name:"md…

V100 GPU服务器安装CUDNN教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【如何学习Python自动化测试】—— 鼠标键盘操作

5 、 鼠标键盘操作 在浏览器中&#xff0c;通常会用到鼠标来进行操作&#xff0c;比如右键菜单中选择一个操作&#xff0c;在 selenium 中提供了下列鼠标相关操作。 ActionChains 类提供了以下方法&#xff1a; 点击鼠标&#xff1a;click()右击鼠标&#xff1a;context…

Pandas数据清洗_Python数据分析与可视化

Pandas数据清洗 删除缺失值检测缺失值填充缺失值拉格朗日插值线性插值 在处理数据的时候&#xff0c;需要对数据进行一个清洗过程。清洗操作包括&#xff1a;空白行的删除、数据完整性检验、数据填充、插值等内容。 下面是数据清洗过程中使用的具体方法 删除缺失值 DataFram…

Go语言常用命令详解(三)

文章目录 前言常用命令go get示例参数说明 go install示例参数说明 go list示例 go mod示例参数说明 go work基本用法示例 go tool示例 go version示例 go vet示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命…

智能座舱架构与芯片- (14) 测试篇 上

一、 验证平台概要 1.1 测试软件方法论 “软件定义汽车” 的时代&#xff0c;软件在整车制造中的重要性日渐凸显。但不同于其他行业的软件开发&#xff0c;汽车行业有自己独特的软件开发要求。首先是需求严谨、需求层次复杂、需要通过专业的工具进行管理&#xff1b;其次开发…

数据中台之用户画像

用户画像应用领域较为广泛,适合于各个产品周期,从新用户的引流到潜在用户的挖掘、 从老用户 的培养到流失用户的回流等。通过挖掘用户兴趣、偏好、人口统计特征,可以 直接 作用于提升营销精准 度、推荐匹配度,最终提升产品服务和企业利润。还包括广告投放、产品布局和行业报…

从0开始学习JavaScript--深入理解JavaScript的async/await

JavaScript的异步编程在过去经历了回调地狱、Promise的引入&#xff0c;而今&#xff0c;通过async/await&#xff0c;让我们获得了更加优雅、可读性更高的异步编程方式。本文将深入探讨async/await的概念、用法&#xff0c;并通过丰富的示例代码展示其在实际应用中的威力。 理…

JVM垃圾收集器

什么是垃圾收集器 Java虚拟机的垃圾收集器是内存回收的具体实现&#xff0c;主要用于回收不再使用的对象&#xff0c;释放内存空间。Java虚拟机提供了多种垃圾收集器&#xff0c;不同的垃圾收集器适用于不同的场景和需求。 在C中&#xff0c;对象所占的内存在程序结束运行之前…