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

学习C++的第七天!

1.虚函数是在基类中用 virtual 关键字声明的函数,可以在派生类中被重写。纯虚函数是在虚函数的基础上,在基类中被初始化为 0 的函数,含有纯虚函数的类是抽象类,不能被实例化。

2.如果基类的析构函数不是虚函数,当通过基类指针删除指向派生类对象的指针时,只会调用基类的析构函数,而不会调用派生类的析构函数,可能导致资源泄漏等问题。有了虚析构函数,在删除指向派生类对象的基类指针时,会先调用派生类的析构函数,再调用基类的析构函数,确保正确释放资源。

3.在 C++中,const 数据成员通常在构造函数初始化列表中进行初始化。而 static 数据成员在类外部进行定义和初始化,且只能初始化一次。初始化 const 数据成员保证其在对象创建后不能被修改;初始化 static 数据成员则为所有对象共享该静态成员提供了正确的初始值。

4. ① 指针是一个变量,存储的是内存地址;引用是一个别名,必须在初始化时绑定到一个对象。 ② 指针可以为空,引用不能为空。 ③指针可以重新赋值指向不同的地址,引用一旦绑定就不能更改指向。

5.① new 是运算符,malloc 是函数。 ② new 在分配内存时会调用构造函数进行初始化,malloc 只是单纯分配内存,不进行初始化。 ③new 失败时会抛出异常,malloc 失败时返回 NULL。 ④ new 返回的是对象类型的指针,malloc 返回的是 void* 类型指针,需要强制转换。

6.内存泄漏是由于程序中动态分配的内存未被正确释放而产生。例如,忘记释放不再使用的指针指向的内存、循环引用等情况都可能导致内存泄漏。 避免内存泄漏的方法有:及时释放不再使用的内存资源;避免循环引用;使用智能指针等工具来自动管理内存。

7.C++内存分区主要包括栈区、堆区、全局区(静态区)、常量区和代码区。栈区由编译器自动分配释放,存放函数参数值、局部变量等;堆区由程序员手动分配和释放,用于动态内存分配;全局区存放全局变量和静态变量;常量区存放常量;代码区存放程序的二进制代码。

9.常用数据结构有数组、链表、栈、队列、树、图等。时间复杂度用于衡量算法运行时间随输入规模的增长速度;空间复杂度衡量算法所需存储空间随输入规模的增长情况。

相关文章:

  • C# 里,常用的数据类型转换说明,以及简单示例
  • 猫头虎带你解决:error Error: certificate has expired
  • 7.lambda表达式
  • g++的一些常用标识
  • 基于飞腾平台的OpenCV的编译与安装
  • linux网络编程9
  • 数据结构2——单链表
  • 【C++】类型转换
  • 人工智能开发实时语音识别系统应用
  • USB2.0主机设备检测过程以及信号分析
  • 【算法业务】互联网风控业务中的拒绝推断场景算法应用分享(涉及半监督算法、异常检测、变分自编码、样本权重自适应调整、迁移学习等)
  • 2024年项目经理不能错过的开源项目管理系统大盘点:全面指南
  • 使用 Docker 部署 RStudio 的终极教程
  • 智算中心动环监控:构建高效、安全的数字基础设施@卓振思众
  • 51单片机-红外遥控器(NEC标准)-实验(红外遥控及调速电机)
  • 【技术性】Search知识
  • 4个实用的微服务测试策略
  • android 一些 utils
  • CAP理论的例子讲解
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • iOS编译提示和导航提示
  • Javascript编码规范
  • JS 面试题总结
  • Lucene解析 - 基本概念
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • opencv python Meanshift 和 Camshift
  • SpringBoot 实战 (三) | 配置文件详解
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 技术发展面试
  • 目录与文件属性:编写ls
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 数据科学 第 3 章 11 字符串处理
  • 微信开源mars源码分析1—上层samples分析
  • 微信小程序开发问题汇总
  • 06-01 点餐小程序前台界面搭建
  • Spring Batch JSON 支持
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # Kafka_深入探秘者(2):kafka 生产者
  • #define
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (python)数据结构---字典
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (十五)使用Nexus创建Maven私服
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (算法)Travel Information Center
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)详解PHP处理密码的几种方式
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .env.development、.env.production、.env.staging
  • .Net 基于MiniExcel的导入功能接口示例
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .net6+aspose.words导出word并转pdf
  • .NET上SQLite的连接
  • .net实现头像缩放截取功能 -----转载自accp教程网