匿名对象 与 new delet初识

一.匿名对象

1.定义:

没有名称的临时创建的对象,通常用于临时操作或作为函数的实参或返回值。

2.声明周期与作用域:

仅仅在定义所在代码行中,执行完就销毁。

3.使用格式

类名(构造参数)

4.使用场景

临时调用成员函数

mid:C++内存管理

二.new与delete

1.new与delet作用:

new动态开辟空间,如果是自定义类型会调用对象的构造函数,delete释放动态空间并调用对象的析构函数

2.本质

(1).new的操作是operator new函数与对象构造函数构成的

operator new 可以理解是malloc加上失败抛异常


(2).析构函数操作是析构函数和operator delete完成的operator delete又可以理解为free加上抛异常(其实不是free,是另外一个_free函数,free是它的包装)

3.问题

(1)new与构造,delete与析构不会对同一块空间操作吗

不会,new只会为原来在栈上开辟空间的成员变量在堆上开空间,构造会在堆上/别处开辟资源(动态开辟数组/流/别的)

delete只会销毁非资源的,如new开辟的,析构会销毁开辟的资源(原来在堆上动态开辟的)

4.语法

1.new开单空间

类型指针=new 类型(初始化值);//自定义类型会让初始化值隐式类型转化再拷贝构造

2.new开多空间

类型指针=new 类型[n个]{初始化值};

1.delete释放单空间

delete 指针;

2.delete释放多空间

delete []指针;

(对于内置类型,delete就相当于free,所以delete p,也没问题,因为自定义类型要析构释放资源,不delete[] p使仅能调第一个对象的析构,其他仅能free,不能调用析构,资源泄漏。

注意:如果传参的个数少于开辟的类型个数,对内置类型,其他变量赋值0,自定义类型调用它的默认构造。

5.初始化参数与某成员构造参数个数相同情况

要调用多参构造,要在花括号内部加{参数},外部花括号是指多个对象初始化表,内部花括号指单个对象多参数表。

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

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

相关文章

MapReduce 机理

1.hadoop 平台进程 Namenode进程: 管理者文件系统的Namespace。它维护着文件系统树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata)。管理这些信息的文件有两个,分别是Namespace 镜像文件(Namespace image)和操作日志文件(edit log)&#xff…

书生浦语大模型实战训练营--第二期第六节--Lagent AgentLego 智能体应用搭建--homework

一、基础作业 1.完成 Lagent Web Demo 使用,并在作业中上传截图 根据以下命令启动成功! 2.完成 AgentLego 直接使用部分,并在作业中上传截图 这是原图 使用AgentLego进行自动目标检测后,很明显图中的物体已经被识别出来了 二、…

【python】如何通过python来发邮件,各种发邮件方式详细解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

MQ技术选型

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。它可以实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。 RabbitMQ 特点: RabbitMQ 相当轻量级的消息队列&#xff…

英伟达一系列高质量公开课来了!

B站:啥都会一点的研究生公众号:啥都会一点的研究生 英伟达免费提供许多自学课程,评价肥肠高,有专为初学者设计的也有更进阶的内容(提供证书),若实验室/单位基于NVIDIA Jetson进行开发&#xff…

Junit 更多-ApiHug准备-测试篇-010

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 如果大家…

VisualGLM-6B的部署步骤

对于如下命令,你将完全删除环境和环境中的所有软件包 conda remove -n env_name --all 一、VisualGLM-6B环境安装 1、硬件配置 操作系统:Ubuntu_64(ubuntu22.04.3) GPU:4050 显存:16G 2、配置环境 建…

2024华中杯C题光纤传感器平面曲线重建原创论文分享

大家好,从昨天肝到现在,终于完成了2024华中杯数学建模C题的完整论文啦。 给大家看一下目录吧: 目录 摘 要: 10 一、问题重述 12 二.问题分析 13 2.1问题一 13 2.2问题二 14 2.3问题三 14 三、模型假设 15 四、…

HWOD:字符串字符匹配

一、知识点 c语言中,判断一个字符串中是否含有某字符是很容易的,不需要知道字符串的长度 i0; while(c ! str[i] && str[i] ! \0){ i; } if(str[i] \0){ return false; } return true; 二、题目 1、描述 判断短字符串S中的所有字符…

Redis: 在项目中的应用

文章目录 一、Redis的共享session应用二、分布式缓存1、缓存2、缓存一致性问题解决方案(缓存更新策略)(1)作用(2)三种策略(3)主动更新策略(数据库、缓存不一致解决方案&a…

汽车研发项目进度管理的挑战与优化策略

随着汽车行业的快速发展和市场竞争的加剧,新车型研发项目的进度管理成为车企赢得市场的关键。然而,由于汽车研发项目通常具有投资大、周期长、技术难度高、参与方众多等特点,项目进度管理面临着诸多挑战。为了提升车型研发效率、缩短研发周期…

设计模式之创建型模式详解

设计模式 创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节&#xff0…

软考-系统集成项目管理中级--项目质量管理(输入输出很重要!!!本章占分较高,着重复习)

本章历年考题分值统计 本章重点常考知识点汇总清单 5、成本效益分析法:对每个质量活动进行成本效益分析,就是要比较其可能的成本与预期的效益。达到质量要求的主要效益包括减少返工、提高生产率、降低成本、提升干系人满意度及提升赢利能力。(掌握)17下64考题 本章…

贪吃蛇项目实战解析

项目实战 游戏背景​ 贪吃蛇是久负盛名的游戏,它也和俄罗斯方块,扫雷等游戏位列经典游戏的行列。 在编程语言的教学中,我们以贪吃蛇为例,从设计到代码实现来提升学生的编程能力和逻辑能力。 目录: 游戏背景 游戏效…

Java如何用EasyExcel插件对Excel进行数据导入和数据导出

文章目录 一、EasyExcel的示例导入依赖创建实体类数据导入和导出 二、EasyExcel的作用三、EasyExcel的注解 EasyExcel是一个阿里巴巴开源的excel处理框架,它以使用简单、节省内存著称。在解析Excel时,EasyExcel没有将文件数据一次性全部加载到内存中&…

【Flutter】自动生成图片资源索引插件二:FlutterAssetsGenerator

介绍 FlutterAssetsGenerator 插件 :没乱码,生成的图片索引命名是小驼峰 目录 介绍一、安装二、使用 一、安装 1.安装FlutterAssetsGenerator 插件 生成的资源索引类可以修改名字,我这里改成R 2. 根目录下创建assets/images 3. 点击image…

c#+unity基础

序列化: [SerializeField],点不出来,只能在面板上显示绑定游戏物体 //公有隐藏 特有函数 特有函数:不需要调用,自动执行 Awake最先执行->OnEable 面向对象思想 面向对象思想:分为具体对象和抽象对…

LeetCode in Python 55. Jump Game (跳跃游戏)

跳跃游戏的游戏规则比较简单,若单纯枚举所有的跳法以判断是否能到达最后一个下标需要的时间复杂度为O(),为此,本文采用贪心策略,从最后一个下标开始逆着向前走,若能跳到第一个元素则表明可以完成跳跃游戏,反…

明文scheme拉起此小程序

微信开发文档说明:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html 1、开发者无需调用平台接口,在MP平台->设置->隐私与安全->明文Scheme拉起此小程序声明后,可自行根据如下格式拼接app…

Webrtc 信令服务器实现

webrtc建联流程图 由上图可知,所谓的信令服务器其实就是将peer的offer/candidate/answer传给对端而已。这样的话实现方式就有很多种了,目前普遍的方式HTTP/HTTPS,WS/WSS。像webrtc-demo-peerconnection就是实现HTTP这种方式。本文使用WS&…