C++笔记(1)

1.  C语言和C++的区别?

C语言作为一种过程性语言,侧重于通过算法描述来指导计算机执行,将复杂程序分解为简单、可管理的模块。 C语言支持模块化编程,每个模块作为独立的单元。C++融合了3中不同的编程方式:C语言、面向对象语言、泛型编程。

2. 什么是类?

 类是一种规范,定义了数据成员和成员函数,构成了一个新的数据类型。类描述了对象的特征和行为。对象是类的具体实例,即根据类的规范创建的数据结构。每个对象都拥有类所定义的属性和方法,通过对象可以进行实际的数据操作和功能实现。

3.什么是封装?

封装,类可以将内部数据(私有成员)隐藏起来,仅暴露有限的公共接口(公有成员函数)供外部访问,这样可以防止数据被不当修改。

4.什么是多态?

多态允许使用一个接口来表示不同类型的实体,从而能够在不修改现有代码的情况下,使程序能够处理多种数据类型或类的对象。这通过虚函数、重载运算符和函数重写等机制实现。

5.什么是继承?

 继承是一种建立类与类之间关系的方式,子类可以继承父类的属性和方法,并在此基础上添加或修改,实现代码的复用和扩展。这有助于构建一个层次化的类结构,促进模块化和灵活性。

6. 预处理指令有什么用?

#include<>编译之前, 使用指定的内容特换该预处理指令。

#define定义符号常量,但是更好的使用const

7.头文件注意的问题是什么?

8.名称空间有什么用?

避免名称冲突。

9.const类型有什么用?

定义常量,编译器不允许修改该常量的值。比#define好,能确定类型,使用const将作用域限定再特定的作用域中。const可以用于更复杂的类型。

10.类型转换?

整形提升不会损失数据。

强制类型转换。

static_cast<>可以将值从一种类型转换为另一种类型。

11.auto声明?

让编译器可以初始值推断变量的类型,如STL中类型时,自动类型推断很方便。

12.什么是union?

union的各个成员共享相同的内存位置,因此只能存储一个成员的值。如果更改一个成员的值,会影响其他成员的值。大小等于最大成员的大小:union的大小等于其中最大成员的大小。      

union UnionName {data_type member1;data_type member2; data_type memberN;
};

 13.什么是结构体?

结构是用户定义的类型,C++结构除了成员变量还有成员函数。

14.什么是enum?什么是枚举类?

enum是枚举类型,是一种用户自定义的数据类型,由一组常量组成,这些常量代表一个固定的整数值序列。可以提高代码的可读性,用有意义的名称而不是抽象的数字来表示。

enum EnumName {enumerator1, enumerator2,..., enumeratorN
};

默认第一个枚举成员的值为0,之后每个成员的值依次递增1,也可以显示赋值。

C++11引入了enum class,可以更好的作用域控制和类型安全。枚举成员需要通过加上类名前缀来访问,避免名称冲突。

enum class Color {Red,Green,Blue
};

待(整理100个换)

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

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

相关文章

【已解决】记录Vue2.x中npm install下载依赖报错:python2 Error: not found: python2问题(具体操作步骤)

项目场景&#xff1a; 项目场景&#xff1a;在项目开发中&#xff0c;升级了本地node版本后&#xff0c;重新npm install下载依赖报错找不到python环境 not found: python2 npm ERR! gyp verb check python checking for Python executable “python2” in the PATH 在尝试了各…

Codeforces Round 950 (Div. 3)(A~F2)

G题只会暴力..不会数据结构 A - 问题 Generator 暴力模拟即可 // Problem: A. Problem Generator // Contest: Codeforces - Codeforces Round 950 (Div. 3) // URL: https://codeforces.com/contest/1980/problem/A // Memory Limit: 256 MB // Time Limit: 1000 ms // //…

哈夫曼树的构造,哈夫曼树的存在意义--求哈夫曼编码

一:哈夫曼树的构造 ①权值,带权路径长度。 ②一组确定权值的叶子节点可以构造多个不同的二叉树,但是带权路径长度min的是哈夫曼树 ③算法基本思想及其实操图片演示 注:存储结构和伪代码 1 初始化: 构造2n-1棵只有一个根节点的二叉树,parent=rchild=lchild=-1; 其中…

构造一个高效的哈希表:从基本思路到最终实现

哈希表是计算机科学中常用的数据结构之一&#xff0c;它提供了快速的查找、插入和删除操作。在本篇博客中&#xff0c;我们将探讨如何构造一个高效的哈希表&#xff0c;从最基本的思路逐步完善&#xff0c;直至最终实现。 1. 初始思路&#xff1a;使用布尔数组存储 我们最初的…

AIGC 全面介绍

随着人工智能技术的不断进步&#xff0c;生成式人工智能&#xff08;AI Generated Content, AIGC&#xff09;成为了一个日益热门的话题。AIGC 指利用人工智能技术生成各类内容&#xff0c;包括文本、图像、音频、视频等。与传统的内容生成方法相比&#xff0c;AIGC 具有速度快…

谷歌创新框架:从非结构化数据,实现多模态学习

看、听、说的多模态已成为主流大模型的重要功能之一。但在数据爆炸时代&#xff0c;大模型学习文本类的结构化数据相对还好一些&#xff0c;但要去学习视频、音频、图片等非结构化数据非常困难。 目前&#xff0c;从结构化和非结构化数据实现多模态学习&#xff0c;会随着模态…

RK3588 VOP图层分配介绍

RK3588 VOP图层分配介绍 RK3588图层介绍 RK3588有8个图层&#xff0c;分别是Custer 0/1/2/3 和Esmart 0/1/2/3&#xff0c;两种图层的能力不一样&#xff0c;具体如下&#xff1a; Custer 分辨率&#xff1a;最大分辨率包括两种合并集群和单集群&#xff0c;分别为7680x432…

QT_UI设计

mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE //命名空间 namespace Ui { class MainWindow; } //ui_MainWindow文件里定义的类&#xff0c;外部声明 QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_O…

AccessibilityEvent的生成和处理

在 Android 框架层&#xff0c;AccessibilityEvent 的生成和处理是通过系统的 UI 框架和辅助功能服务框架密切协作来实现的。这个机制涉及几个关键的部分&#xff1a;UI 组件、辅助功能服务、事件监听和事件分发。以下是对这些部分和它们如何协同工作的详细解释&#xff1a; 1…

httprunner接口自动化测试框架使用说明【保姆级教程】

背景介绍&#xff1a; httprunner是国内开源的一个接口自动化框架&#xff0c;已经有部分公司开始使用这种框架来完成自己公司的接口自动化编写&#xff0c;本文主要是从简单的流程上去讲解咋使用的&#xff08;PS&#xff1a;开发者本尊的官网教程写的是真的烂。。。&#xf…

JVM调优实战

如果老年代能回收掉大部分&#xff0c;说明年轻代太小了&#xff0c;放不下 OOM 1数据量一次性申请的内存过多&#xff0c;比如数据库查询返回值大多&#xff0c;所以做个分页 2.并发过高的情况下&#xff0c;一些连接未释放 3.堆内存不够

DP-Kmaens密度峰值聚类算法

我有个问题 关于 [密度值>密度阈值] 的判定这里&#xff0c;新进来的新数据怎么确定他的密度值&#xff1f;密度阈值又是怎样确定的呢&#xff1f;

正则表达式 0.1v

正则表达式 扩展 --> :% s/\///g //文件里面所有的 / 去掉 * 通配符 \ //转义&#xff0c;让字符变成原本的意思 ^ //行首 $ //行尾 [0-9] //数字 [a-z] //小写字母 [A-Z] //大写字母 把文件的小写字母替换为大写字母&#xff1f; 固定写法 :% s/[a-…

Vscode git 插件

超好用的git记录 软件 安装之后&#xff0c;鼠标在哪一行就可以看最新一次是谁提交的&#xff0c;真的超好用&#xff01;&#xff01;&#xff01;

43页 | 2024年企业级BI平台白皮书(免费下载)

【1】关注本公众号&#xff0c;转发当前文章到微信朋友圈 【2】私信发送 2024年企业级BI平台白皮书 【3】获取本方案PDF下载链接&#xff0c;直接下载即可。 诚挚邀请您微信扫码加入以下方案驿站知识星球&#xff0c;获取上万份PPT/WORD解决方案&#xff01;&#xff01;&…

【NOI】C++程序结构入门之循环结构二-for循环

文章目录 前言一、for循环1.导入2.语法3.使用场景4.条件控制5.小结 二、例题讲解问题&#xff1a;1264 - 4位反序数问题&#xff1a;1085 - 寻找雷劈数问题&#xff1a;1057 - 能被5整除且至少有一位数字是5的所有整数的个数问题&#xff1a;1392 - 回文偶数&#xff1f;问题&a…

Linux命令 netstat -anp | grep 的用法

文章目录 1、第一种解释2、第二种解释3、第三种解释4、第四种解释5、第五种解释6、netstat --help 在Windows中&#xff0c;杀死端口占用的博客链接 1、第一种解释 在Unix和Linux系统中&#xff0c;netstat -anp 命令用于显示所有的网络连接&#xff08; -a 表示所有&#xff…

文件md5加密

使用场景&#xff1a;为了避免上传资源空间的浪费&#xff0c;通过对文件进行md5摘要加密获取唯一的值&#xff0c;从数据库中查询是否已有该md5码存在&#xff0c;不存在的就上传&#xff0c;存在的话使用之前已存储的文件信息。 如何加密 下载插件browser-md5-file 【之前有…

maridb10.4.30数据库数据迁移

1.新建数据存储文件夹&#xff0c;例如E:\maridb_data 2.修改原数据所在目录的my.ini文件&#xff0c;例如D:\Program Files\MariaDB 10.4\data\my.ini 3.剪切除my.ini文件外的其他所有文件到迁移目的地文件(E:\maridb_data) 结果如下&#xff1a; 原数据文件目录&#xff1a…

聊聊限流的一些事儿

一、背景 最近几年&#xff0c;随着微服务的流行&#xff0c;服务与服务之间依赖越来越强&#xff0c;调用也越来越复杂&#xff0c;服务间的稳定性变突显出来。特别是在遇到突发请求时&#xff0c;常常需要通过缓存、限流、熔断降级、负载均衡等多种方式保证服务的稳定性。其…