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

2024.9.26 作业 +思维导图

 一、作业

1、什么是虚函数?什么是纯虚函数

 虚函数:函数前加关键字virtual,就定义为虚函数,虚函数能够被子类中相同函数名的函数重写

纯虚函数:把虚函数的函数体去掉然后加=0;就能定义出一个纯虚函数。

2、基类为什么需要虚析构函数

虚析构函数是为了解决多态导致的子类中空间只能释放父类继承下来部分的空间的问题,虚析构函数可以使空间全部释放,避免产生内存泄漏,所以在使用继承的时候,尽量就要加上虚析构函数

3、如何初始化const和static数据成员

const成员必须在初始化列表中进行初始化

static数据成员在类外进行初始化

 4、指针和引用的区别

1、指针定义使用*,引用定义使用&

2、指针可以不初始化(野指针),但是引用必须初始化

3、在函数形参列表中的使用,指针是另一个指针与原指针指向的是一个空间,引用的形参就是外部使用函数输入的参数本身

4、没有空引用,但是有空指针

5、没有多级引用,但是有多级指针

6、指针根据系统占4字节,8字节的空间,引用所占的内存空间和被引用的对象的空间一致

7、引用的使用与目标一致,而指针的使用需要解引用*

8、没有引用数组,但是可以定义指针数组

5、new和malloc的区别

 1、定义格式不一样

2、new可以通过定义的数据类型自动计算要分配的空间,而malloc需要自己手动计算空间

3、new是函数调用,需要开辟内存空间,malloc是c语言的关键字,不需要额外开辟内存空间

4、new定义时可以给对象初始化,而malloc不能给对象初始化

5、new不用强转,而malloc定义void*类型使用的时候需要强转成其他类型

6、内存泄漏怎么产生的?如何避免?

 内存泄漏是开辟了一块内存空间,使用完之后没有及时释放,就会发生内存泄漏

7、C++的内存分区 

 堆区,栈区,代码段,数据段,自由存储区

 9、常用的数据结构有哪些?时间复杂度和空间复杂度如何使用?

 栈,队列,数组,链表,哈希表,图

时间复杂度和空间复杂度要结合使用,在时间不能太长的同时也不能占用太多的内存空间

 

 二、思维导图

 

相关文章:

  • 【DP解密多重背包问题】:优化策略与实现
  • 零基础入门AI:一键本地运行各种开源大语言模型 - Ollama
  • [大语言模型-论文精读] ACL2024-长尾知识在检索增强型大型语言模型中的作用
  • el-table+el-form实现表单校验和解决不垂直居中导致的问题
  • IT技术的发展及应用
  • 在Windows上安装Git
  • Go conc库学习与使用
  • HP 电脑 - 管理电源选项 (Windows 10)
  • 电信光猫破解记录
  • 代号ORION:Meta的AR眼镜揭示黑科技的潜力
  • 优青博导团队携手提供组学技术服务、表观组分析、互作组分析、遗传转化实验、单细胞检测等全方位生物医学支持
  • python的input函数用法
  • C++的生存期
  • 搜狗收录排名的5个方法技巧
  • 使用php生成图片
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • CentOS 7 防火墙操作
  • ES6核心特性
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • oldjun 检测网站的经验
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vagrant 添加本地 box 安装 laravel homestead
  • Vue ES6 Jade Scss Webpack Gulp
  • 关于extract.autodesk.io的一些说明
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 今年的LC3大会没了?
  • 普通函数和构造函数的区别
  • 如何进阶一名有竞争力的程序员?
  • 什么是Javascript函数节流?
  • -- 数据结构 顺序表 --Java
  • 微服务框架lagom
  • 用 Swift 编写面向协议的视图
  • 用jQuery怎么做到前后端分离
  • 第二十章:异步和文件I/O.(二十三)
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​MySQL主从复制一致性检测
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # windows 安装 mysql 显示 no packages found 解决方法
  • # 透过事物看本质的能力怎么培养?
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (2)nginx 安装、启停
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (推荐)叮当——中文语音对话机器人
  • .NET Core 中插件式开发实现
  • .net core控制台应用程序初识
  • .Net Core与存储过程(一)
  • .Net各种迷惑命名解释
  • .net经典笔试题
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • [5] CUDA线程调用与存储器架构
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [BZOJ 2142]礼物(扩展Lucas定理)