C++面试突破---C/C++基础
1.C++特点
1. C++在C语言基础上引入了面对对象的机制,同时也兼容C语言。
2. C++有三大特性(1)封装。(2)继承。(3)多态;
3. C++语言编写出的程序结构清晰、易于扩充,程序可读性好。
4. C++生成的代码质量高,效率高,
5. C++更加安全,增加了const常量、引用、四类cast转换(static_cast、dynamic_cast、const_cast、reinterpret_cast)、智能指针、try—catch等等;
6. C++可复用性高,C++引入了模板的概念,标准模板库STL。
2.C语言和C++的区别
1. C语言是C++的子集,C++可以很好兼容C语言。但是C++又有很多新特性,如引用、智能指针、auto变量等。
2. C++是 面对对象 的编程语言;
C语言是 面对过程 的编程语言。
3. C语言有一些不安全的语言特性,如指针使用的潜在危险、强制转换的不确定性、内存泄露等。而C++对此增加了不少新特性来改善安全性,如const常量、引用、cast转换、智能指针、try—catch等等;
4. C++可复用性高,C++引入了模板的概念,后面在此基础上,实现了方便开发的标准模板库STL。C++的STL库相对于C语言的函数库更灵活、更通用。
3.C++中 struct 和 class 的区别
1. struct 一般用于描述一个数据结构集合,而 class 是对一个对象数据的封装;
2. struct 中默认的访问控制权限是 public 的,
class 中默认的访问控制权限是 private 的。
3. 在继承关系中,struct 默认是公有继承,而 class 是私有继承;4. class 关键字可以用于定义模板参数,就像 typename,而 struct 不能用于定义模板参数
4.include头文件的顺序以及双引号""和尖括号<>的区别
区别:
- 尖括号<>的头文件是系统文件,双引号""的头文件是自定义文件。
- 编译器预处理阶段查找头文件的路径不一样。
查找路径:
- 使用尖括号
<>
时,编译器会按照以下顺序查找头文件:
编译器设置的头文件路径 --> 系统变量- 使用双引号
""
时,查找路径的顺序如下:
当前头文件目录 --> 编译器设置的头文件路径 --> 系统变量
5.C++结构体和C结构体的区别
特性 | C | C++ |
---|---|---|
成员函数 | 不可以 | 可以 |
静态成员 | 不可以 | 可以 |
访问权限 | 默认 public,不能修改 | public/private/protected |
继承关系 | 不可以继承 | 可从类或其他结构体继承 |
初始化 | 不能直接初始化数据成员 | 可以直接初始化数据成员,也可使用构造函数 |
6.导入C函数的关键字,C++编译时和C有何不同
关键字:在C++中,导入C函数的关键字是extern “C”,主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言进行编译。
编译区别:由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般只包括函数名。
7.C++从代码到可执行二进制文件的过程
- 预处理:
头文件展开,去注释,条件编译,宏替换,形成 .i文件(还是C语言)
目的:通过处理这些预编译指令,生成一个没有宏定义、条件编译指令和注释的中间文件,为后续的编译阶段做准备。- 编译:
将C语言翻译为汇编语言,形成 .s 文件(此时是汇编代码)
目的:将预编译后的源代码转换为汇编代码,这个过程涉及到对源代码的语法、语义分析和优化,最终生成机器相关的汇编代码。- 汇编:
将汇编代码变成可重定位二进制文件,形成.o文件- 链接:
.o文件 +系统库 形成可执行程序
目的:将多个目标文件和库文件链接在一起,生成一个完整的可执行文件或库文件。链接分为静态链接和动态链接。
静态链接:在链接阶段,将程序所需要的库函数的代码直接复制到可执行文件中。当编译器生成目标文件后,链接器会把程序所依赖的静态库中的代码提取出来,与目标文件合并成一个完整的可执行文件。优点:可执行文件独立运行,不依赖其他文件,部署方便。
缺点:可执行文件较大,因为包含了所有用到的库代码;如果库有更新,需要重新编译整个程序。
生成的静态链接库,Windows下以.lib为后缀,Linux下以.a为后缀。
动态链接:在程序运行时才去加载所需要的库函数。在链接阶段,链接器不会把库函数的代码复制到可执行文件中,而是在可执行文件中记录对库函数的引用信息。当程序运行时,操作系统的动态链接器会根据这些引用信息去查找并加载相应的动态库。优点:可执行文件较小,多个程序可以共享同一个动态链接库,节省内存;库更新时,只需更新库文件,无需重新编译所有程序。
缺点:运行时需要依赖动态链接库,如果库文件不存在或版本不匹配,可能导致程序无法运行。
生成的动态链接库,Windows下以.dll为后缀,Linux下以.so为后缀。
8.static关键字的作用
修饰局部变量
- 当
static
修饰局部变量时,该变量的存储方式发生改变。通常局部变量存储在栈区,函数调用结束后,栈上的局部变量就会被销毁。但是被static
修饰的局部变量存储在静态存储区,它的生命周期贯穿整个程序的运行期。修饰全局变量和函数
- 当
static
修饰全局变量时,这个全局变量的作用域被限制在定义它的源文件内,其他源文件不能访问这个变量。这有助于实现信息隐藏,避免不同源文件之间的命名冲突。修饰类的成员变量和成员函数
- 修饰成员变量:
- 当
static
修饰类的成员变量时,该成员变量被所有类的对象所共享。它不属于某个特定的对象,而是属于类本身。- 修饰成员函数:
- 被
static
修饰的类成员函数可以通过类名直接调用,而不需要创建类的对象。并且在静态成员函数中,只能访问类的静态成员变量和其他静态成员函数,不能访问非静态成员变量和非静态成员函数。
原因:当调用一个对象的非静态成员函数时,系统会把该对象的起始地址赋给成员函数的this指针。而静态成员函数不属于任何一个对象,因此C++规定静态成员函数没有this指针。既然它没有指向某一对象,也就无法对一个对象中的非静态成员进行访问。
9.静态变量何时初始化
C语言的全局和静态变量,初始化发生在任何代码执行之前,属于编译期初始化。
C++标准规定:全局或静态对象当且仅当对象首次用到时才进行构造。
“按需初始化”好处:
- 提高效率:只有在实际需要使用对象时才进行构造,避免了不必要的初始化操作,特别是对于那些在程序中可能不会被使用的对象。
- 减少依赖:延迟初始化可以减少对象之间的依赖关系,降低了对象之间的紧密耦合,只需要在使用时获取其值。
- 支持动态初始化:对于一些需要在运行时确定初始化值的情况,延迟初始化提供了更好的支持。
10.静态全局/局部变量,全局/局部变量特点,及使用场景
作用域:
- 全局变量具有全局作用域,可以在程序的任何地方访问。通过
extern
关键字,可以在其他非定义的源文件中使用。当需要在多个函数之间共享数据,或者需要在程序的不同部分访问同一个变量时,可以使用全局变量。- 静态全局变量具有全局作用域,但加上文件作用域的限制,使其只能在定义它的文件中使用。当需要在一个文件内共享数据,但不希望其他文件访问该变量时,可以使用静态全局变量。
- 局部变量具有局部作用域,通常是在函数内部或代码块内定义,只能在该范围内访问。局部变量在函数执行完毕后会被销毁。当需要在函数内部临时存储数据,并且该数据只在函数内部使用时,可以使用局部变量。
- 静态局部变量具有局部作用域,但它在函数调用之间保持其值,只初始化一次。当需要在函数内部保存一个值,并且该值在函数的多次调用之间需要保持不变时,可以使用静态局部变量。
所在空间:
- 局部变量通常存储在栈上,随着函数的调用和返回而分配和释放内存。
- 其他变量(全局变量、静态全局变量、静态局部变量)存储在静态存储区,它们在程序的整个运行期间都存在。
11.数组和指针
数组:数组是用于储存多个相同类型数据的集合。 数组名是首元素的地址。
指针:指针相当于一个变量,它存放的是其它变量在内存中的地址。 指针名指向了内存的首地址。
区别:
- 赋值:同类型指针变量可以相互赋值;数组只能一个一个元素的赋值或拷贝
- 存储方式:
- 数组:数组在内存中是连续存放的,在静态区(全局数组)或栈上(局部数组)。
- 指针:指针很灵活,它可以指向任意类型的数据。指针的类型说明了它所指向地址空间的内存。
- sizeof求法:
数组所占存储空间的内存大小:sizeof(数组名)/sizeof(数据类型)
在32位平台下,无论指针的类型是什么,sizeof(指针名)都是4
在64位平台下,无论指针的类型是什么,sizeof(指针名)都是8。
11.函数指针及使用场景
函数指针就是指向函数的指针变量。每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。
定义:
返回类型 (*指针变量名)(参数列表) = 函数名;
使用场景:
回调函数:函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。
12.nullptr可以调用成员函数吗?
从对象和成员函数的关系来理解:
成员函数实际上是通过一个隐式的this
指针来访问对象的成员。当通过对象(或者对象指针)调用成员函数时,编译器会将对象的地址作为this
指针传递给成员函数。当指针是
nullptr
时,就没有一个有效的对象来提供这个this
指针所需要的有效地址。通过nullptr
调用成员函数会导致程序出现未定义行为。特殊情况:成员函数是
static
的,它不依赖于对象实例(没有this
指针),那么可以通过类名或者nullptr
(从语法上)来调用。
13.野指针
概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)
产生原因:释放内存后指针不及时置空(野指针),依然指向了该内存,那么可能出现非法访问的错误。这些我们都要注意避免。避免办法:
(1)初始化置NULL
(2)申请内存后判空
(3)指针释放后置NULL
(4)使用智能指针
14.C++的传值方式
值传递:
- 值传递是指在函数调用时,将实际参数的值拷贝一份传递给函数的形式参数。在函数内部,对形式参数的修改不会影响到实际参数的值。
引用传递:
- 引用传递是指在函数调用时,将实际参数的引用传递给函数的形式参数。在函数内部,对形式参数的修改会直接影响到实际参数的值。
指针传递:
- 指针传递是指在函数调用时,将实际参数的地址传递给函数的形式参数。在函数内部,可以通过解引用指针来访问和修改实际参数的值。
值传递用于对象时,整个对象会拷贝一个副本,这样效率低;而引用传递用于对象时,不发生拷贝行为,只是绑定对象,更高效;指针传递同理,但不如引用传递安全。
15.new/delete和malloc/free
- new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。
- new自动计算要分配的空间大小,malloc则需程序员指定。
- malloc和free返回的是void*指针(必须进行类型转换),new和delete返回的是具体类型指针。
- new内存分配失败时,会抛出bad_alloc异常。malloc分配内存失败时返回NULL。
- new会先调用operator new函数,申请足够的内存(通常底层使用malloc实现)。然后调用类型的构造函数,初始化成员变量,最后返回自定义类型指针。delete先调用析构函数,然后调用operator delete函数释放内存(通常底层使用free实现)。
- malloc仅仅分配内存空间,free仅仅回收空间,不具备调用构造函数和析构函数功能,用malloc分配空间存储类的对象存在风险;new和delete除了分配回收功能外,还会调用构造函数和析构函数。
16.const和define
- define生效于预处理阶段;
const生效于编译的阶段。- define 只是简单的文本替换,不会对类型安全进行检査;
const 会进行类型检查。- define定义的常量,运行时是直接的操作数,并不会存放在内存中;
const定义的常量,在C语言中是存储在内存中、需要额外的内存空间的。
17.const int *a, int const *a, const int a, int *const a, const int *const a分别是什么
const int a; //指的是a是一个常量,不允许修改。
const int *a; //指向常量的指针,意味着通过这个指针不能修改其所指向内存中的值,但指针本身可以重新指向其他同类型(const int 类型)的内存地址。
int const *a; //同const int *a;
int *const a; //通过a指针可以修改它所指向内存中的值,但a指针不能指向其他的内存地址
const int *const a; //都不变,即(*a)不变,a也不变
18.指针与引用
指针:指针是一个变量,其值为另一个变量的地址。
引用:引用是一个别名,它在定义时必须被初始化,并且之后不能再绑定到其他对象。
指针可以有多级,引用只有一级
当把指针作为参数进行传递时,也是将实参的一个拷贝传递给形参,两者指向的地址相同,但不是同一个变量,在函数中改变这个变量的指向不影响实参,而引用却可以。
相关文章:
C++面试突破---C/C++基础
1.C特点 1. C在C语言基础上引入了面对对象的机制,同时也兼容C语言。 2. C有三大特性(1)封装。(2)继承。(3)多态; 3. C语言编写出的程序结构清晰、易于扩充,程序可读性好。…...
【Vue】Scoped、组件间通信、Props检验
目录 Scoped 作用 *原理 组件通信 前置知识 什么是组件通信 为什么需要组件通信 如何进行组件通信 如何辨别两个组件的关系 父子组件通信 父传子 子传父 非父子组件通信 祖先传后代 语法 任意两个组件通信 步骤 Props校验 props是什么 作用 语法 组件的…...
2022 年 9 月青少年软编等考 C 语言三级真题解析
目录 T1. 课程冲突T2. 42 点思路分析T3. 最长下坡思路分析T4. 吃糖果思路分析T5. 放苹果思路分析T1. 课程冲突 此题为 2021 年 9 月三级第一题原题,见 2021 年 9 月青少年软编等考 C 语言三级真题解析中的 T1。 T2. 42 点 42 42 42 是: 组合数学上的第 5 5 5 个卡特兰数字…...
遗传算法与深度学习实战(26)——编码卷积神经网络架构
遗传算法与深度学习实战(26)——编码卷积神经网络架构 0. 前言1. EvoCNN 原理1.1 工作原理1.2 基因编码 2. 编码卷积神经网络架构小结系列链接 0. 前言 我们已经学习了如何构建卷积神经网络 (Convolutional Neural Network, CNN),在本节中&a…...
Svn如何切换删除账号
记录Svn清除切换账号 1.首先打开小乌龟的设置如下图 打开设置后单击已保存数据,然后选择清除 接上图选择清除后,就可以打勾选择清除已保存的账号,我们再次检出的就可以切换账号了 👉总结 本次记录Svn清除切换账号 如能帮助到你…...
重生之我在异世界学编程之C语言:选择结构与循环结构篇
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一、选择结构1. if语句2. else i…...
React第十二节组件之间通讯之发布订阅模式(使用pubsub-js插件)
组件之间通讯常用方案 1、通过props 2、通过context 3、通过发布订阅模式 4、通过Redux 后面会有专栏介绍 1、安装 pubsub-js 插件 yarn add pubsub-js 常用的事件 a、发布事件:传入一个自定义事件名称(name),以及要发布的消息内…...
同为科技(TOWE)柔性定制化PDU插座
随着科技的进步,越来越多的精密电子设备,成为工作生活密不可分的工具。 电子电气设备的用电环境也变得更为复杂,所以安全稳定的供电是电子电气设备的生命线。 插座插排作为电子电气设备最后十米范围内供配电最终核心部分,便捷、安…...
【机器学习】机器学习的基本分类-监督学习-决策树-C4.5 算法
C4.5 是由 Ross Quinlan 提出的决策树算法,是对 ID3 算法的改进版本。它在 ID3 的基础上,解决了以下问题: 处理连续型数据:支持连续型特征,能够通过划分点将连续特征离散化。处理缺失值:能够在特征值缺失的…...
代码随想录第36天
01背包问题 二维 def hanshu():wupin, bagweight [int(x) for x in input().split()]weight [int(x) for x in input().split()]value [int(x) for x in input().split()]dp [[0]*(bagweight1) for i in range(wupin)] #dp[i][j]代表从物品【0,i-1】让任意取,…...
折叠屏手机拐点:三星领跌,华为小米逆势增长
科技新知 原创作者丨依蔓 编辑丨蕨影 折叠屏手机不香了?显示器出货量罕见下滑,并预计 2025 年仍将持续下降。 近日,市场调查机构 DSCC报告称, 2019 年至 2023 年,折叠屏市场曾保持每年至少 40% 的高速增长。然而&…...
微服务的负载均衡可以通过哪些组件实现
微服务的负载均衡可以通过多种组件来实现,以下是一些常见的负载均衡组件及其特点: Nginx: Nginx是一款轻量级的HTTP和反向代理服务器,也是一个高性能的负载均衡器。它支持多种负载均衡算法,如轮询、加权轮询、IP哈希等…...
uni-app写的微信小程序如何实现账号密码登录后获取token,并且每天的第一次登录后都会直接获取参数而不是耀重新登录(2)
接uni-app写的微信小程序如何实现账号密码登录后获取token,并且每天的第一次登录后都会直接获取参数而不是耀重新登录(1), 在main.js中 import App from ./App// #ifndef VUE3 import Vue from vue import ./uni.promisify.adap…...
算法妙妙屋-------1.递归的深邃回响:全排列的奇妙组合
全排列的简要总结 全排列(Permutation)是数学中一个经典的问题,指的是从一组元素中,将所有元素按任意顺序排列形成的所有可能序列。 特点 输入条件: 给定一组互异的元素(通常为数组或字符串)。…...
flink-connector-mysql-cdc:02 mysql-cdc高级扩展
flink-connector-mysql-cdc:01 mysql-cdc基础配置代码演示02 mysql-cdc高级扩展03 mysql-cdc常见问题汇总04 mysql-cdc-kafka生产级代码分享05 flink-kafka-doris生产级代码分享06 flink-kafka-hudi生产级代码分享 flink-cdc版本:3.2.0flink版本…...
四、自然语言处理_02RNN基础知识笔记
1、RNN的定义 RNN(Recurrent Neural Network,循环神经网络)是一种专门用于处理序列数据的神经网络架构,它与传统的前馈神经网络(Feedforward Neural Network)不同,主要区别在于它能够处理输入数…...
《船舶物资与市场》是什么级别的期刊?是正规期刊吗?能评职称吗?
问题解答 问:《船舶物资与市场》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《船舶物资与市场》级别? 答:国家级。主管单位:中国船舶集团有限公司 主办单…...
【工具变量】上市公司企业所在地城市等级直辖市、副省级城市、省会城市 计划单列市(2005-2022年)
一、包含指标: 股票代码 股票代码 股票简称 年份 所属城市 直辖市:企业所在地是否属于直辖市。1是,0否。 副省级城市:企业所在地是否属于副省级城市。1是,0否。 省会城市&a…...
websocket通信
“WebSocket 允许客户端和服务器在连接建立后随时互相发送数据,而无需每次交互都重新建立连接。”我想请问,第一次前端往后端发送数据时,传递的数据应该满足接口的参数内容,在第一次建立连接后之后的数据传递还是要满足接口的参数…...
数据结构——单调队列
这篇博客我们来讨论一下单调队列的问题,其实和之前学的单调栈都是一种上通过改变操作来解决问题的一种数据结构 我们先来回忆一下单调栈的内容,这样方便将其和单调队列做区分 单调栈:(单调性从栈底到栈顶) 1.单调栈是一种栈数据…...
qt环境 C11thread子线程关闭定时器问题
环境情况:使用的是thread c11线程和qt的定时器 报错: QObject::~QObject: Timers cannot be stopped from another thread 主要原因: 1.开启了一个事件循环线程处理消息类型,但是有一种消息类型需要关闭资源,这就导…...
深入浅出:虚拟化技术及其在现代 IT 中的应用
文章目录 虚拟化的定义与基本原理虚拟机监控程序(Hypervisor) 虚拟化的历史与发展虚拟化的实现方式虚拟化的优势1. 提高资源利用率2. 降低成本3. 提升灵活性和可扩展性4. 加快应用部署和迁移5. 提高安全性和隔离性 不同类型虚拟化技术服务器虚拟化实际应…...
Golang内存模型总结1(mspan、mcache、mcentral、mheap)
1.内存模型 1.1 操作系统存储模型 从上到下分别是寄存器、高速缓存、内存、磁盘,其中越往上速度越快,空间越小,价格越高。 关键词是多级模型和动态切换 1.2 虚拟内存与物理内存 虚拟内存是一种内存管理技术,允许计算机使用比…...
优先算法 —— 滑动窗口系列 - 无重复字符的最长子串
目录 前言 1. 无重复字符的最长子串 2. 题目解析 3. 算法原理 解法1:暴力枚举 哈希表(判断字符是否有重复出现) 解法2:滑动窗口 4. 代码 前言 当我们发现暴力解法两个指针都不回退,都是向同一个方向移动的时候我…...
Python 浏览器自动化新利器:DrissionPage,让网页操作更简单!
Python 浏览器自动化新利器:DrissionPage,让网页操作更简单! 文章目录 Python 浏览器自动化新利器:DrissionPage,让网页操作更简单!🚀 引言🌟 DrissionPage简介🛠️ 三大…...
[Python] 进阶之路:模块、包和异常处理
在掌握了Python的类与对象后,下一步是深入理解模块化开发和异常处理。模块与包帮助我们组织代码,增强代码的可维护性和重用性,而异常处理则是编写健壮代码的重要技能。本文将系统讲解Python中模块、包和异常处理的核心概念与实用技巧。 一、模…...
SpringBoot 整合 Avro 与 Kafka 详解
SpringBoot 整合 Avro 与 Kafka 详解 在大数据处理和实时数据流场景中,Apache Kafka 和 Apache Avro 是两个非常重要的工具。Kafka 作为一个分布式流处理平台,能够高效地处理大量数据,而 Avro 则是一个用于序列化数据的紧凑、快速的二进制数…...
windows C#-使用 Override 和 New 关键字(上)
在 C# 中,派生类中的方法可具有与基类中的方法相同的名称。 可使用 new 和 override 关键字指定方法的交互方式。 override 修饰符用于扩展基类 virtual 方法,而 new 修饰符用于隐藏可访问的基类方法 。 在控制台应用程序中,声明以下两个类…...
FaRM译文
No compromises: distributed transactions with consistency, availability, and performance Aleksandar Dragojevic, Dushyanth Narayanan, Edmund B. Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, Miguel Castro Microsoft Research 摘要 具有强一致…...
大数据新视界 -- Hive 元数据管理:核心元数据的深度解析(上)(27 / 30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
大数据项目-Django基于聚类算法实现的房屋售房数据分析及可视化系统
《[含文档PPT源码等]精品Django基于聚类算法实现的房屋售房数据分析及可视化系统》该项目含有源码、文档、PPT、配套开发软件、软件安装教程课程答疑等! 数据库管理工具:phpstudy/Navicat或者phpstudy/sqlyog 后台管理系统涉及技术: 后台使…...
当大的div中有六个小的div,上面三个下面三个,当外层div高变大的时候我希望里面的小的div的高也变大
问: 当大的div中有六个小的div,上面三个下面三个,当外层div高变大的时候我希望里面的小的div的高也变大 回答: 这时候我们就不能写死六个小的div的高度,否则上下的小的div的间距就会变大,因为他们的高度…...
使用 Postman 上传二进制类型的图片到后端接口写法
我们有的时候会有需求,就是通过 postman 传递二进制图片到后端接口,如下图: 那我们的 Java 接口需要怎么写呢? Spring Boot 接收这些数据的方式需要使用 RequestBody 注解来处理原始的二进制数据(byte[])。…...
字符串函数和内存函数
字符串函数 1、strlcpy 【字符串拷贝】 (将原字符串中的字符拷贝到目标字符数组中,包括终止符号\0,并在这里停止;为了避免越界,目标字符串数组应该足够大去接收)👆 (返回值是 dest…...
uC/OSII学习笔记(一)任务的增删改查
使用天玛智控的控制器,基础工程文件已移植ucosii。 正常的任务创建流程为: 1.OSInit(); 2.OSTaskCreate(); 3.OSStart(); 但是天玛对其有做修改,任务创建直接调用OSTaskCreate()函数即可,不用在…...
如何搭建JMeter分布式集群环境来进行性能测试
在性能测试中,当面对海量用户请求的压力测试时,单机模式的JMeter往往力不从心。如何通过分布式集群环境,充分发挥JMeter的性能测试能力?这正是许多测试工程师在面临高并发、海量数据时最关注的问题。那么,如何轻松搭建…...
蓝桥杯准备训练(lesson2 ,c++)
3.1 字符型 char //character的缩写在键盘上可以敲出各种字符,如: a , q , , # 等,这些符号都被称为字符,字符是⽤单引号括 起来的,如: ‘a’ , ‘b’ &…...
【踩坑】Collectors.toMap 抛出 NullPointerException 异常
1. 场景重现 public class Test01 {public static void main(String[] args) {List<Person> list Arrays.asList(new Person("anna", 17, 0), new Person("bob", 18, 1), new Person("jack", 20, null));Map<String, Integer> nam…...
泷羽sec专题课笔记-- Linux作业--开机自启动方法以及破解
本笔记为 泷羽sec 《红队全栈课程》学习笔记,课程请可自行前往B站学习,课程/笔记主要涉及网络安全相关知识、系统以及工具的介绍等,请使用该课程、本笔记以及课程和笔记中提及工具的读者,遵守网络安全相关法律法规,切勿…...
OpenCV
MFC(C)的使用 1、官网下载 https://opencv.org/ 选 Library - Release - 选择你需要的版本 2、安装 3、配置环境变量 将 OpenCV 的bin目录 C:\Program Files\OpenCV481\opencv\build\bin添加到系统的PATH环境变量中。这使得在运行程序时能够找到 Open…...
Wwise 使用MIDI文件、采样音频
第一种:当采样音频只有一个文件的时候 1.拖入MIDI文件到Interactive Music Hierarchy层级 2.拖入采样音频到Actor-Mixer Hierarchy层级 3.勾选MIDI显示出面板,设置Root Note与采样音频音高相同,这里是C#5 4.播放测试,成功&…...
OpenStack-Glance组件
Glance Glance使用磁盘格式和容器格式基础配置镜像转换 Glance 是 OpenStack 的镜像服务,负责存储、发现和管理虚拟机镜像。它允许用户创建和共享镜像,用于启动虚拟机实例。 Glance 的主要功能 (1)虚拟机镜像的管理 支持镜像的上…...
写译热点单词 | 50篇文章整理 | 手敲自用
目录 文化类 政治类 经济类 教育类 科技类 健康类 安全类 体育类 第二版 删去了部分不太常用的 文化类 1. 阴历: lunar calendar 2. 阳历: solar calendar 3. 春节: the Spring Festival 4. 除夕: Chinese New Year’s Eve 5. 清明节: Tomb Sweeping Day 6. 重阳…...
【UE5 C++】判断两点连线是否穿过球体
目录 前言 方法一 原理 代码 测试 结果 方法二 原理 一、检查连线与球体的相交情况 二、检查距离与球体半径的关系 三、检查连线与球体的相交 代码 前言 通过数学原理判断空间中任意两点的连线是否穿过球体,再通过射线检测检验算法的正确性。 方法一 …...
A1228 php+Mysql旅游供需平台的设计与实现 导游接单 旅游订单 旅游分享网站 thinkphp框架 源码 配置 文档 全套资料
旅游供需平台 1.项目描述2. 开发背景与意义3.项目功能4.界面展示5.源码获取 1.项目描述 随着社会经济的快速发展,生活水平的提高,人们对旅游的需求日益增强,因此,为给用户提供一个便利的查看导游信息,进行导游招募的平…...
【linux】服务器Ubuntu20.04安装cuda11.8教程
【linux】服务器Ubuntu20.04安装cuda11.8教程 文章目录 【linux】服务器Ubuntu20.04安装cuda11.8教程到官网找到对应版本下载链接终端操作cudnn安装到官网下载下载后解压进入解压后的目录:将头文件复制到 /usr/local/cuda/include/ 目录:将库文件复制到 …...
SpringMVC其他扩展
一、全局异常处理机制: 1.异常处理两种方式: 开发过程中是不可避免地会出现各种异常情况的,例如网络连接异常、数据格式异常、空指针异常等等。异常的出现可能导致程序的运行出现问题,甚至直接导致程序崩溃。因此,在开发过程中,…...
用“*”构成一个倒三角形:JAVA
输入:5 输出: ******* ***** *** * 代码: import java.util.Scanner; //倒三角 public class FF6 {public static void main(String[] args) {Scanner scannernew Scanner(System.in);while (scanner.hasNextInt()){int nscanner…...
洛谷P2670扫雷游戏(Java)
三.P2670 [NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 n 行 m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩…...
Windows 11 环境下 条码阅读器输入到记事本的内容不完整
使用Windows11时,为什么记事本应用程序中的扫描数据被截断或不完整?为什么sdo 特殊字符的显示与Windows 10 记事本应用程序不同? 很多人认为和中文输入法有关,其实主要问题出在这个windows11下的记事本程序上,大家知道这个就可以了&#x…...