C++——视频问题总结

1、C和C++的区别

CC++
面向过程对象
注重程序的实现逻辑程序的整体设计
内容C语言采用了一种有序的编程方法——结构化编程:将一个大型程序分解为一个个小型的,易于编写的模块,所有模块有序调动,形成了一个程序的完整的运行链C++将问题分解为各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题中的行为,更注重程序的整体设计,方便程序的后期维护、优化和管理,让一个功能尽可能的通用。应对需求的变化,本意是处理大型复杂系统的设计和实现
优点性价比比面向对象,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素易维护易复用易扩展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护
缺点没有面向对象易维护、易复用、易扩展因为类调用时需要实例化,开销比较,比较消耗资源,性价比比面向过程低

2、C++面向对象有哪些特征

封装封装是指将对象的属性和方法结合成一个独立的系统单位,隐藏对象的内部细节,只保留有限的对外接口,这样可以保护数据不受外部随意访问或修改,同时简化编程接口,提高代码的可维护性和安全性
继承继承允许一个(子类)继承另一个类(父类)的属性和方法,这样可以实现代码的重用,提高开发效率,在C++中,继承分为公有继承、保护继承和私有继承,分别定义了基类成员在派生类中的访问权限
多态多态指在一般类中定义的属性或行为被特殊类继承后,可以具有不同的数据类型或表现出不同的行为,这样可以在不改变程序结构的情况下,使用相同的方式调用不同对象的方法,C++中支持两种多态性,编译期多态和运行期多态。编译器多态通过函数重载实现,运行期多态通过虚函数实现

3、堆和栈的区别

存放变量类型全局变量局部变量
存放内容需要动态分配的数据结构,如字符串、对象和动态数组函数调用时的临时变量、函数返回地址等信息,主要用于内存的临时分配
内存区域不连续,(链表存储空闲内存地址)连续
管理方式程序员自行负责,使用后必须手动释放按照”先进后出“的原则进行管理
申请效率
生长方向向高地址扩展数据结构向低地址扩展数据结构
空间大小空间较大空间较小
申请大小动态申请释放,没有特定限制操作系统指定大小,被操作系统限制
分配方式当关键字malloc或new执行时,才会被分配空间,只能动态分配当函数被执行时,形参和函数内部的局部变量会一起被创建出来,可以动态和静态分配
访问方式只能用指针读取数据可以使用变量名或指针读取数据
存在周期存在时间较长,需要人为清理和回收存在时间取决于存在作用域,当执行程序离开时,该所在的作用域将被回收
稳定性不稳定,容易造成内存泄露稳定

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

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

相关文章

Linux——GPIO输入输出裸机实验

学习了正点原子Linux环境下的GPIO的输入输出的裸机实验学习,现在进行一下小结: 启动文件start.S的编写 .global _start .global _bss_start _bss_start:.word __bss_start.global _bss_end _bss_end:.word __bss_end_start:/*设置处理器进入SVC模式*/m…

Cyberchef配合Wireshark提取并解析TCP/FTP流量数据包中的文件

前一篇文章中讲述了如何使用cyberchef提取HTTP/TLS数据包中的文件,详见《Cyberchef配合Wireshark提取并解析HTTP/TLS流量数据包中的文件》,链接这里,本文讲述下如何使用cyberchef提取FTP/TCP数据包中的文件。 FTP 是最为常见的文件传输协议,和HTTP协议不同的是FTP协议传输…

51c大模型~合集42

我自己的原文哦~ https://blog.51cto.com/whaosoft/11859244 #猎户座 「草莓」即将上线,OpenAI新旗舰大模型曝光,代号「猎户座」 ChatGPT 要进化了? 本月初,OpenAI 创始人、CEO 山姆・奥特曼突然在 X 上发了一张照片&#xff0…

【NOIP提高组】潜伏者

【NOIP提高组】潜伏者 💐The Begin💐点点关注,收藏不迷路💐 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。 历尽艰险后,潜伏于 S 国的R 国间谍小C 终于摸清了S 国…

安培环路定理

回忆 静电场中的回路定理:→静电场是保守场 安培环路定理 1、圆形回路包围无限长载流直导线 (1)回路逆时针 (2)回路顺时针 规定: 回路正向由右手螺旋定则判断(根据回路绕行方向,…

Locally Linear Embedding (LLE)

Locally Linear Embedding (LLE) Locally Linear Embedding (LLE) 是一种非线性降维算法,通常用于高维数据的流形学习。其核心思想是:假设数据点在局部是线性结构,通过保留每个数据点的局部线性结构关系,将数据嵌入到低维空间中。…

wsl配置ubuntu22.04,并配置docker

wsl配置ubuntu22.04,并配置docker 文章目录 wsl配置ubuntu22.04,并配置docker一、在Windows上安装Linux子系统前提条件安装步骤 二、wsl安装系统到其他盘①查看wsl运行状态,将其保持在关闭状态②导出当前Linux的镜像③注销之前的系统并检查④…

「QT」文件类 之 QDir 目录类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

expo5.2运行web报错Cannot find module ‘react‘

修改app.json中的web output 配置为 ‘single’ 可以解决 expo run web 这个错误问题 "web": {"bundler": "metro","output": "single","favicon": "./assets/images/favicon.png"},相关链接&#xff1…

Xcode 16 pod init失败的解决方案

目录 前言 一、错误重现 二、解决方案 1.右击项目修改文件展示方式 2.修改.xcodeproj文件 3.参考文档 前言 我们使用Xcode创建新项目之后,执行pod init报错。我们看一下如何解决。 一、错误重现 RuntimeError - PBXGroup attempted to initialize an object …

Mysql-DDL语句

文章目录 DDL 语句DDL 操作库创建数据库修改数据库使用数据库 DDL 操作表Mysql 的数据类型创建表修改表结构 🏡作者主页:点击! 🤖Mysql专栏:点击! ⏰️创作时间:2024年11月14日11点30分 DDL 语…

css三角制作(二十课)

代码&#xff1a; <style>/* 边框原理 */.box1 {width: 0;height: 0;border-top: 100px solid pink;border-bottom: 100px solid blue;border-left: 100px solid yellow;border-right: 100px solid greenyellow;}/* 三角制作 */.box2 {width: 0;height: 0;border: 100px …

高效稳定!新加坡服务器托管方案助力企业全球化布局

在全球化的商业环境中&#xff0c;企业对于高效、稳定的服务器托管方案的需求日益迫切。作为亚洲的服务器托管中心&#xff0c;新加坡凭借其独特的地理位置、稳定的政治环境、先进的科技设施以及开放的市场政策&#xff0c;为企业提供了理想的服务器托管解决方案&#xff0c;助…

【51单片机】LCD1602液晶显示屏

学习使用的开发板&#xff1a;STC89C52RC/LE52RC 编程软件&#xff1a;Keil5 烧录软件&#xff1a;stc-isp 开发板实图&#xff1a; 文章目录 LCD1602存储结构时序结构 编码 —— 显示字符、数字 LCD1602 LCD1602&#xff08;Liquid Crystal Display&#xff09;液晶显示屏是…

【Python · PyTorch】卷积神经网络(基础概念)

【Python PyTorch】卷积神经网络 CNN&#xff08;基础概念&#xff09; 0. 生物学相似性1. 概念1.1 定义1.2 优势1.2.1 权重共享1.2.2 局部连接1.2.3 层次结构 1.3 结构1.4 数据预处理1.4.1 标签编码① One-Hot编码 / 独热编码② Word Embedding / 词嵌入 1.4.2 归一化① Min-…

Qt 之 qwt和QCustomplot对比

QWT&#xff08;Qt Widgets for Technical Applications&#xff09;和 QCustomPlot 都是用于在 Qt 应用程序中绘制图形和图表的第三方库。它们各有优缺点&#xff0c;适用于不同的场景。 以下是 QWT 和 QCustomPlot 的对比分析&#xff1a; 1. 功能丰富度 QWT 功能丰富&a…

谷歌DeepMind推出了一种新的方式来“窥探”AI的“内心”

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

PowerBI 用RANK,RANKX和TOPN 排名的简单示例

1. 销量表 2. 添加计算总销量的度量值&#xff0c;它将在RANK和RANKX里被使用 总销售量 SUM(销量[销售量]) 3.计算排名的度量值 RANK函数 排名 RANK(ALL(销量[产品]),ORDERBY([总销售量],DESC)) RANKX函数: 排名2 RANKX(ALL(销量),[总销售量],,DESC,Skip) 4.页面上添…

【EmbeddedGUI】脏矩阵设计说明

脏矩阵设计说明 背景介绍 一般情况下&#xff0c;当屏幕内容绘制完毕后&#xff0c;实际应用通常需要更新屏幕中的一部分内容&#xff0c;而不是单纯显示一个静态图片在那。 如下图所示&#xff0c;屏幕中有一个图片控件&#xff08;Img2&#xff09;和一个文本控件&#xf…

「QT」文件类 之 QTextStream 文本流类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…