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

C++初阶-C++的讲解1

目录

1.缺省(sheng)参数

2.函数重载

3.引用

3.1引用的概念和定义

3.2引用的特性

3.3引用的使用

3.4const引用

3.5.指针和引用的关系

4.nullptr

5.总结


1.缺省(sheng)参数

(1)缺省参数是声明或定义是为函数的参数指定一个缺省值。在调用该函数是,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参,缺省参数分为全缺省和半缺省参数。

如:

#include<iostream>
using namespace std;
void Func(int n)
{cout << n << endl;
}
void Func1(double n = 4.1)
{cout << n << endl;
}
int main()
{Func(2);Func();Func1(2);Func1();return 0;
}

我们在C语言中如果在有参数的时候不传参就会报错,而在C++中如果我们不在声明或定义中设置缺省值都会导致运行出错,但是如果我们在定义时加个缺省值也不会使Func()报错,如:

#include<iostream>
void Func(int n = 4);
using namespace std;
void Func(int n)
{cout << n << endl;
}
void Func1(double n = 4.1)
{cout << n << endl;
}
int main()
{Func(2);Func();Func1(2);Func1();return 0;
}

这样就不会有问题,但是最终结果为什么呢?

我们发现我们不传参也会让函数执行该语句,如果我们在定义时设置缺省值而在声明中不设置缺省值结果会怎么样呢?

但是如果我们把声明和定义放在不同文件中呢?

最终都还是能正常打印结果的,所以我们设置缺省值的时候放在哪里都可以。

(2)全缺省:全部参数都给缺省值,半缺省:部分形参给缺省值。

(3)带缺省参数的函数调用,C++规定必须从左到右依次给实参,不能跳跃给实参。

void Func(int a = 10, int b = 20, int c = 30)
{cout << a << ' ' << b << ' ' << c << endl;
}
int main()
{Func(1, 2, 3);Func(1, 2);Func(1);Func();Func(, 2, 3);Func(, , 3);return 0;
}

我们发现如果顺序给实参就不会报错,不给实参也不会报错,但是跳跃给实参就会报错,这是规定的,我们不能改变,所以以后使用时要注意了哦!

(4)缺省参数在函数声明和定义中同时出现,规定必须在函数声明给缺省值。

void Func(int n = 0 );
void Func(int n = 1)
{cout << n << endl;
}
int main()
{Func();return 0;
}

运行结果为:

我们如果在给声明和定义的缺省值不同的时候就会报错,这个时候我们要及时调整定义的缺省值了,可以不给,但是必须要在声明中给,因为我们之后要改的时候就好改一些,只是现在我们的代码量不多,之后代码量多了就会知道为啥了,我们都把声明放在头文件中,之后修改直接在里面修改就可以了!(4)中的知识我们可以不遵循,但是建议要遵循!

2.函数重载

C++支持在同一个作用域中出现同名函数,但是要求这些同名函数的形参不同,可以是形参类型不同,也可以是形参个数不同,如:

void Func(int a, int b ,int c)
{cout << a << ' ' << b << c << endl;
}
void Func(double a, int b)
{cout << a << ' ' << b << endl;
}
void Func()
{cout  << endl;
}
void Func(int a, int b)
{cout << a << ' ' << b << endl;
}
int main()
{Func(1, 2, 3);Func(1.1, 2);Func();Func(1, 2);return 0;
}

由于我们没有给' '所以第一行结果我们就没有出现1 2 3

但是如果我们给缺省值呢?

我们的Func()不知道到底是调用哪一个函数,所以会造成报错的问题,所以我们的重名函数建议不要给缺省值,否则很容易造成报错的!至于给缺省值的好处,之后就会知道,现在我们是先简单了解一下。

3.引用

3.1引用的概念和定义

引用是给一个变量取别名,而不是新定义一个变量,也不需要新开辟一块空间,引用的变量和被引用的变量共用同一块空间,如:林冲的别名是豹子头,我们可以叫林冲为豹子头,也可以叫他林冲。引用的写法:int a=0;int& b=a;这个b就是a的别名。其中b的类型还是为int相当于&的前面的变量类型就是引用变量的类型。

3.2引用的特性

(1)引用在定义时必须初始化。我们不能直接int& b;

(2)一个变量可以有多个引用。如:int a=0;int& b=a;int& c=a;

(3)引用一旦引用一个实体就再不能引用其他实体,也就是说引用只能引用一次,比如:

int x=10;int y=0;int& d=y;d=x;

d=x的意思到底是把x的值赋值给d(y)还是给x取别名为d呢?

3.3引用的使用

(1)引用在实践中主要是引用传参和引用做返回值中减少拷贝提高效率和改变引用对象时同事改变被引用对象

这句话很难理解,我一句一句来讲,比如我们常用的交换函数就可以来用引用:

void Swap(int& a, int& b)
{int tmp = a;a = b;b = tmp;
}

这样我们就不需要进行指针的调用了,因为都是一个地址的数据改变。为什么会有“和”后面的内容呢?因为我们的意思就是如果传的参数分别为x,y那么如果a,b改变,那么x,y的值也改变。而这样也不用进行值的拷贝,相对于之前的指针简单多了!

此外,引用也可以给指针变量取别名,可以给结构体取别名,相当于typedef a b;但是我们的a,b只能为变量类型而不能为变量!

如果我们换一个思路来思考:如果我们要增加或减少栈顶所存的数据,那么我们该如何做?

按照之前的思路,我们先取栈顶元素,比如我们要加10,那么我们就让这个栈顶元素加等10,然后把出栈,然后再把结果入栈。但是这样非常麻烦!我们可以直接STTop(s)+=10;在之前看来是不行的,但是这是C++啊,C++规定:返回值具有常性,就相当于被const修饰了。而返回值是临时对象(之后再讲),就相当于临时对象具有常性。所以我们不能通过返回值来修改,而且我们仅仅是改变的只是返回值的结果却不能真正改变栈顶数据,所以我们需要用引用来了。我们之前在定义这个函数时是用的指针吧,现在我们把这个*改为&不也是一样吗,我们这样改了就可以STTop+=10了,因为就是相当于地址所存储的值发生改变了!

需要注意我们不能在函数除了形参外取别名的,因为这样后面空间回收了,而这个地址已经不存储任何数据了就没有任何作用了,所以我们不能进行取别名的操作。

(2)使用引用代替指针传参可以简化程序,避免复杂的指针,其中,结点的结构只能用指针来写,因为需要指针来进行指针指向的改变,而引用却不能改变!

3.4const引用

(1)可以引用一个const对象,但是必须用const引用。const引用也可以引用普通对象,因为对象的访问的权限在引用过程中可以缩小,但是不能放大。

第一句话我们需要用第二句话来理解,我们知道const意味着不可修改,如果我们取了一个别名就变成可修改了,这样是很危险的!因为二者都是一个东西,权限不能扩大。所谓权限就是说变量能修改就是权限大了,不能修改就是权限小了。所以引出第一句话。

const引用也可以引用普通对象,比如:我今天本来准备吃饭,但是人太多了或者有意外的情况下我不准备吃了。这意味着我今天不吃饭,但是后面还是要吃饭的,这是权限缩小,比如:int a=10; const int& c=a;这样的形式是可以的。但是如果const int a=10; int& b=a;这就涉及到权限扩大,是不可以的。

(2)如果我们传参是用另外一个变量类型来传参或者用表达式来传参的情况下,这会生成一个临时对象,这个临时对象具有常性,不可修改。

所以我们可以:const int& b=a*3;但是不可以int& b=a*3因为这个a*3转化为b会涉及到产生临时对象,而这个临时对象在生成的过程中会产生一个别名来存储这个值,而这个别名也是不可修改的,所以我们在进行运算赋值给一个普通引用时就不可以,要用const引用(常引用)。还有一种情况:double d=10.1;int& b=d;会报错,不是d转化为b报错,是因为类型转换时会产生一个临时对象来存储d的小数点前面部分,而这个值也不可修改,所以我们需要const int& b=d

为什么要进行这样?

void func(int& a)
{cout << a << endl;
}
int main()
{int a = 10;func(a);func(10);func(3.14);func(a * 3);return 0;
}

我们不能传参以除变量的任何形式,至于原因之前都解释了,但是如果我们加const引用就可以了:

void func(const int& a)
{cout << a << endl;
}
int main()
{int a = 10;func(a);func(10);func(3.14);func(a * 3);return 0;
}

这样会使传参的时候类型更丰富。

3.5.指针和引用的关系

二者都有各自的特点,互相不可替代,功能有重叠性。

(1)语法上引用为一个变量取别名,不开辟新空间,指针是存储一个变量地址,要开辟新空间;

(2)引用在定义时,必须初始化,指针建议初始化,但是语法上不是必须的;

(3)引用在初始化引用一个对象后,就不能再引用其他对象,而指针可以不断地改变指向对象;

(4)引用可以直接访问指向对象,而指针需要结引用才能访问指向对象;

(5)sizeof两个东西的含义不同,引用结果为引用类型大学,但指针始终是地址空间锁占字节数;

(6)指针很容易出现空指针和野指针的问题,引用很少出现问题,引用使用起来相对更安全一些(除非引用对象被销毁)。

建议使用引用,指针也可以用,看情况。

4.nullptr

NULL实际是一个宏,在传统C中包含于stddef.h中,在C++中我们如果用NULL,则会打印出0,因为在C++会转换为0,所以相当于直接打印0了,而在C语言中NULL定义为((void*)0),如果打印的话就会报错,因为无法识别。所以我们用nullptr来代替NULL,以防这两个问题。所以我们之后在使用NULL时把NULL改为nullptr即可。

5.总结

这章内容有点上难度了,但是总体来说理解不是很难,主要掌握引用的用法就可以了,其他的不是太大的问题。喜欢的可以一键三连哦,下次再见!

相关文章:

C++初阶-C++的讲解1

目录 1.缺省(sheng)参数 2.函数重载 3.引用 3.1引用的概念和定义 3.2引用的特性 3.3引用的使用 3.4const引用 3.5.指针和引用的关系 4.nullptr 5.总结 1.缺省(sheng)参数 &#xff08;1&#xff09;缺省参数是声明或定义是为函数的参数指定一个缺省值。在调用该函数是…...

【NLP 面经 9.逐层分解Transformer】

如果我能给你短暂的开心 —— 25.4.7 一、Transformer 整体结构 1.Tranformer的整体结构 Transformer 的整体结构&#xff0c;左图Encoder和右图Decoder&#xff0c;下图是Transformer用于中英文翻译的整体结构&#xff1a; 可以看到 Transformer 由 Encoder 和 Decoder 两个…...

Diffusion Policy Visuomotor Policy Learning via Action Diffusion官方项目解读(二)(5)

运行官方代码库中提供的Colab代码&#xff1a;vision-based environment&#xff08;二&#xff09;&#xff08;5&#xff09; Network十八、类SinusoidalPosEmb&#xff0c;继承自nn.Module十八.1 def __init__()十八.2 def forward()总体说明 十九、类Downsample1d&#xff…...

西门子S7-1200PLC 工艺指令PID_Temp进行控温

1.硬件需求&#xff1a; 西门子PLC&#xff1a;CPU 1215C DC/DC/DC PLC模块&#xff1a;SM 1231 TC模块 个人电脑&#xff1a;已安装TIA Portal V17软件 加热套&#xff1a;带加热电源线以及K型热电偶插头 固态继电器&#xff1a;恩爵 RT-SSK4A2032-08S-F 其他&#xff1…...

【深度学习:理论篇】--Pytorch进阶教程

目录 1.神经网络 1.1.torch.nn 核心模块 1.2.定义神经网络 1.3.损失函数 1.4.反向传播 1.5.梯度更新 2.图片分类器 2.1.数据加载 2.2.卷积神经网络 2.3.优化器和损失 2.4.训练网络 2.5.测试网络 2.6.GPU上训练 3.数据并行训练--多块GPU 3.1.导入和参数 3.2.构造…...

卷积神经网络(CNN)基础

目录 一、应用场景 二、卷积神经网络的结构 1. 输入层&#xff08;Input Layer&#xff09; 2. 卷积层&#xff08;Convolutional Layer&#xff09; 3. 池化层&#xff08;Pooling Layer&#xff09; 最大池化&#xff08;max_pooling&#xff09;或平均池化&#xff08;…...

第 28 场 蓝桥入门赛 JAVA 完整题解

前言 本文总结了六个编程题目的解题思路与核心考点&#xff0c;涵盖基础语法、逻辑分析、贪心算法、数学推导等知识点。每个题目均从问题本质出发&#xff0c;通过巧妙的算法设计或数学优化降低复杂度&#xff0c;展现了不同场景下的编程思维与解题技巧。以下为各题的详细考点解…...

Python 网络请求利器:requests 包详解与实战

诸神缄默不语-个人技术博文与视频目录 文章目录 一、前言二、安装方式三、基本使用1. 发起 GET 请求2. 发起 POST 请求 四、requests请求调用常用参数1. URL2. 数据data3. 请求头 headers4. 参数 params5. 超时时间 timeout6. 文件上传 file&#xff1a;上传纯文本文件流7. jso…...

聊透多线程编程-线程基础-1.进程、线程基础概念

目录 一、进程 二、线程 三、进程与线程的关系 四、进程与线程的比较 注&#xff1a;本文多张图片来源于网络&#xff0c;如有侵权&#xff0c;请联系删除 一、进程 1. 进程的定义 进程是指在系统中正在运行的一个应用程序的实例&#xff0c;是操作系统进行资源分配和调…...

Android:Android Studio右侧Gradle没有assembleRelease等选项

旧版as是“Do not build Gradle task list during Gradle sync” 操作这个选项。 参考这篇文章&#xff1a;Android Studio Gradle中没有Task任务&#xff0c;没有Assemble任务&#xff0c;不能方便导出aar包_gradle 没有task-CSDN博客 在as2024版本中&#xff0c;打开Setting…...

LeetcodeBST2JAVA

235.二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&…...

如何创建单独的城市活码?活码能永久使用吗?

如何创建单独的城市活码 创建单独的城市活码通常需要借助专业的第三方工具&#xff0c;以下是具体步骤&#xff1a; 1.选择合适的工具 推荐使用专业的活码生成工具。 2.注册并登录 访问官网&#xff0c;完成注册并登录。 3.创建活码 在首页点击“创建活码”按钮。输入活码…...

用户画像(https://github.com/memodb-io/memobase)应用

1.下载项目的源代码,我们要先启动后端,用docker启动 cd src/server cp .env.example .env cp ./api/config.yaml.example ./api/config.yaml 这里我的配置内容如下config.yaml(因为我是调用的符合openai格式的大模型,所以我没改,如果要是别的大模型的话,需要自己再做兼容…...

基于形状补全和形态测量描述符的腓骨游离皮瓣下颌骨重建自动规划|文献速递-深度学习医疗AI最新文献

Title 题目 Automated planning of mandible reconstruction with fibula free flap basedon shape completion and morphometric descriptors 基于形状补全和形态测量描述符的腓骨游离皮瓣下颌骨重建自动规划 01 文献速递介绍 因创伤、骨髓炎和肿瘤而接受下颌骨节段切除术…...

Python3笔记之号称替代pip的uv包管理器

uv是什么&#xff1f; uv&#xff0c;这是一个由 Astral 团队开发的极快速的Python包和项目管理工具&#xff0c;用Rust语言编写。它集成了多种功能&#xff0c;旨在替代pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv等多个工具&#xff0c;提供更高效、更全面的Py…...

面试如何应用大模型

在面试中,如果被问及如何应用大模型,尤其是面向政务、国有企业或大型传统企业的数字化转型场景,你可以从以下几个角度进行思考和回答: 1. 确定应用大模型的目标与痛点 首先,明确应用大模型的业务目标,并结合企业的实际需求分析可能面临的痛点。这些企业通常会关注如何提…...

贪心算法:部分背包问题深度解析

简介&#xff1a; 该Java代码基于贪心算法实现了分数背包问题的求解&#xff0c;核心通过单位价值降序排序和分阶段装入策略实现最优解。首先对Product数组执行双重循环冒泡排序&#xff0c;按wm(价值/重量比)从高到低重新排列物品&#xff1b;随后分两阶段装入&#xff1a;循环…...

Java程序的基本规则

java程序的基本规则 1.1 java程序的组成形式 Java程序是一种纯粹的面向对象的程序设计语言&#xff0c;因此Java程序 必须以类&#xff08;class&#xff09;的形式存在&#xff0c;类&#xff08;class&#xff09;是Java程序的最小程序 单位。Java程序不允许可执行性语句…...

机器学习-线性回归模型

机器学习-线性回归模型 线性模型笔记1、向量化2、线性回归模型公式3、损失函数&#xff08;代价函数&#xff09;4、梯度下降法5、Python 实现示例 6、使用 sklearn 实现线性回归模型✅ 基本步骤如下&#xff1a;&#x1f4e6; 示例代码&#xff1a; 7、numpy中的切片X[n,:]是取…...

Linux 入门指令(1)

&#xff08;1&#xff09;ls指令 ls -l可以缩写成 ll 同时一个ls可以加多个后缀 比如 ll -at (2)pwd指令 &#xff08;3&#xff09;cd指令 cd .是当前目录 &#xff08;4&#xff09;touch指令 &#xff08;5&#xff09;mkdir指令 &#xff08;6&#xff09;rmdir和rm…...

密码学基础——AES算法

目录 一、算法背景 AES算法与Rijndael算法 二、算法特点 1.安全性高 2.效率高 3.灵活性好 三、算法说明 3.1状态、种子密钥和轮数的概念 &#xff08;1&#xff09;状态&#xff08;State&#xff09; 定义 结构&#xff1a;通常状态是一个 4N 字节的矩阵&#xff0…...

淘宝API与小程序深度联动:商品详情页“一键转卖”功能开发

要实现淘宝 API 与小程序深度联动&#xff0c;开发商品详情页 “一键转卖” 功能&#xff0c;可按以下步骤进行&#xff1a; 1. 前期准备 淘宝开放平台接入&#xff1a;在淘宝开放平台注册开发者账号&#xff0c;创建应用&#xff0c;获取 App Key 和 App Secret&#xff0c;…...

深入解析 C++ 设计模式:原理、实现与应用

一、引言 在 C 编程的广袤领域中&#xff0c;设计模式犹如闪耀的灯塔&#xff0c;为开发者指引着构建高效、可维护软件系统的方向。设计模式并非神秘莫测的代码魔法&#xff0c;实际上&#xff0c;我们在日常编程中或许早已与之打过交道。简单来说&#xff0c;设计模式常常借助…...

配置与管理代理服务器

安装squid Squid软件包在标准yum存储库中可用&#xff0c;因此&#xff0c;我们正在使用yum命令安装Squid代理。 [rootserver ~]# dnf install -y squid //安装 [rootserver ~]#systemctl enable --now squid.service [rootserver ~]#systemctl status squid.serv…...

RuntimeError: CUDA error: invalid device function

CUDA内核编译时的架构设置与当前GPU不兼容导致 -- The CUDA compiler identification is NVIDIA 11.5.119 &#xff08;实际为 12.6&#xff09; 解决方案&#xff1a; 1. 查看显卡计算能力 2. CMakeLists.txt 修改 set_target_properties(my_library PROPERTIESCUDA_AR…...

vulnhub:sunset decoy

靶机下载地址https://www.vulnhub.com/entry/sunset-decoy,505/ 渗透过程 简单信息收集 nmap 192.168.56.0/24 -Pn # 确定靶机ip&#xff1a;192.168.56.121 nmap 192.168.56.121 -A -T4 # 得到开放端口22,80 在80端口得到save.zip&#xff0c;需要密码解压。 john破解压缩…...

MySQL日期时间类型详解:DATE、TIME和DATETIME的用法与区别

在数据库设计中&#xff0c;正确处理日期和时间数据是至关重要的。MySQL提供了多种数据类型来存储时间信息&#xff0c;其中最常用的三种是DATE、TIME和DATETIME。本文将详细介绍这三种类型的特性、区别以及实际应用场景。 一、基本数据类型介绍 1. DATE类型 用途&#xff1…...

js异步机制

1、什么是异步机制&#xff1f;为什么js需要异步机制&#xff1f; 异步机制和同步机制是相对应的&#xff0c;异步是指&#xff1a;当代码按照顺序执行到一些比较耗时的操作&#xff0c;不会立刻执行&#xff0c;而是将这些操作推到一个队列中等待合适的时机从队列中取出任务执…...

Pycharm常用快捷键总结

主要是为了记录windows下的PyCharm的快捷键&#xff0c;里面的操作都试过了功能描述会增加备注。 文件操作 快捷键功能描述Ctrl N新建文件Ctrl Shift N根据名称查找文件Ctrl O打开文件Ctrl S保存当前文件Ctrl Shift S另存为Alt F12打开终端&#xff08;Terminal&…...

巧记英语四级单词 Unit2-下【晓艳老师版】

mit传递&#xff08;send 送&#xff09;、 superiority n.优势&#xff0c;优越性 超越别人的东西就是自己的优势govern v.统治 government政府 统治的机构administer v.管理&#xff0c;治理 minister 大臣 部长&#xff0c;mini-小人&#xff0c;一再的做大臣 部长&#xf…...

走进底层 - JVM工作原理入门指南

走进底层 - JVM工作原理入门指南 Java 之所以能够实现“一次编写&#xff0c;到处运行”&#xff08;Write Once, Run Anywhere, WORA&#xff09;&#xff0c;核心在于 Java 虚拟机&#xff08;JVM, Java Virtual Machine&#xff09;。JVM 是 Java 程序的运行环境&#xff0c…...

windows 10频繁通知A字“出现了问题,无法安装功能。”

一、故障突现 windows 10频繁通知A字“出现了问题&#xff0c;无法安装功能。” 编辑文档时发现黑体、楷体gb_2312等常用字体&#xff0c;在字体列表中失踪&#xff0c;原来设置好的字体也显示失效。 二、起因分析 回想了一下&#xff0c;是3月27日安装了 2025-适用于Windows…...

基础环境配置

1.GitGerritjenkins Linux 远程登录 | 菜鸟教程 https://zhuanlan.zhihu.com/p/22766058062 2.Samba 配置 3.软件安装 &#xff08;1&#xff09;MobaXterm &#xff08;2&#xff09;Vscode &#xff08;3&#xff09;Xmind &#xff08;4&#xff09; Audacity Aud…...

ROS2——foxy apt打包离线安装deb包

需要从A设备复制ROS2环境到B设备&#xff0c;且B设备有可能没网络&#xff0c;所以选择制作离线资源包 1. 本机安装指令 本机环境ubuntu20.04&#xff0c;安装ros2-foxy版本&#xff0c;直接输入以下指令&#xff0c;基本不会遇到问题 这里安装的是ros-base版本&#xff0c;不…...

大数据学习(104)-clickhouse与hdfs

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…...

大数据 - 1. 概述

早期的计算机&#xff08;上世纪70年代前&#xff09; 是相互独立的&#xff0c;各自处理各自的数据上世纪70年代后&#xff0c;出现了基于TCP/IP协议的小规模的计算机互联互通。上世纪90年代后&#xff0c;全球互联的互联网出现。当全球互联网逐步建成&#xff08;2000年左右&…...

CD25.【C++ Dev】类和对象(16) static成员(上)

目录 1.static成员变量 问题:实现一个类,计算程序中创建出了多少个类对象 设计思路 代码示例 版本1 版本2 static成员 特点1.static成员为静态成员,为所有类对象所共享(在某种程度上可以理解为全局的,用类去封装"全局变量"),存放在静态区,则不属于某个具体的…...

C语言今天开始了学习

好多年没有弄了&#xff0c;还是捡起来弄下吧 用的vscode 建议大家参考这个配置 c语言vscode配置 c语言这个语言简单&#xff0c;但是今天听到了一个消息说python 不知道怎么debug。人才真多啊...

Mockito如何对静态方法进行测试

在 Mockito 中,直接对静态方法进行模拟是困难的,因为 Mockito 的设计理念是优先通过依赖注入(DI)管理对象,而静态方法破坏了这种设计(难以解耦)。不过,从 Mockito 3.4.0 版本开始,通过 mockStatic 方法支持了对静态方法的模拟(需配合 mockito-inline 依赖)。 从 Mo…...

Three.js 入门实战:安装、基础概念与第一个场景⭐

学习本章节你不必要追求细节&#xff0c;你只需要了解基本的3D场景需要哪些元素组成&#xff0c;如何通过组成3D场景的元素属性调整来控制3D物体或者场景即可。 在上一篇文章中我们初识了 Three.js&#xff0c;今天我们正式进入实战环节 &#x1f3af; 前置准备&#xff1a; …...

【QT】QT的消息盒子和对话框(自定义对话框)

QT的消息盒子和对话框&#xff08;自定义对话框&#xff09; 一、消息盒子QMessageBox1、弹出警告盒子示例代码&#xff1a;现象&#xff1a; 2、致命错误盒子示例代码&#xff1a;现象&#xff1a; 3、帮助盒子示例代码&#xff1a;现象&#xff1a; 4、示例代码&#xff1a; …...

QT面试题:内存管理与对象生命周期

题目​&#xff1a; 在Qt中&#xff0c;当一个父对象被销毁时&#xff0c;其子对象是否会被自动释放&#xff1f;请结合Qt的内存管理机制说明原因&#xff0c;并解释在什么情况下可能导致内存泄漏。如何避免这类问题&#xff1f; ​参考答案​ ​父子对象的内存管理机制​ ​…...

linux查询inode使用率

在 Linux 中&#xff0c;inode 用于存储文件和目录的元数据&#xff08;如权限、所有者、时间戳等&#xff09;。当文件系统的 inode 被耗尽时&#xff0c;即使磁盘空间充足&#xff0c;系统也会提示 No space left on device。以下是查询 inode 使用率的详细方法&#xff1a; …...

算法基础—二分算法

目录 一、⼆分查找例题 1 牛可乐和魔法封印 2 A-B 数对 3 烦恼的高考志愿 二、 ⼆分答案 1 木材加⼯ 2 砍树 3 跳石头 ⼆分算法的原理以及模板其实是很简单的&#xff0c;主要的难点在于问题中的各种各样的细节问题。因此&#xff0c;⼤多数情况下&#xff0c;只是背会…...

2024年第十五届蓝桥杯CC++大学A组--成绩统计

2024年第十五届蓝桥杯C&C大学A组--成绩统计 题目&#xff1a; 动态规划&#xff0c; 对于该题&#xff0c;考虑动态规划解法&#xff0c;先取前k个人的成绩计算其方差&#xff0c;并将成绩记录在数组中&#xff0c;记录当前均值&#xff0c;设小蓝已检查前i-1个人的成绩&…...

家居实用品:生活中的艺术,家的温馨源泉‌

在快节奏的现代生活中&#xff0c;家居实用品不仅是日常所需的工具&#xff0c;更是营造温馨家居氛围、提升生活品质的关键元素。它们以其独特的魅力&#xff0c;默默地融入我们的日常生活&#xff0c;成为连接物质世界与精神世界的桥梁。 走进家门&#xff0c;首先映入眼帘的或…...

TCP重传率高与传输延迟问题

目录标题 排查步骤&#xff1a;TCP重传率高与传输延迟问题v1.0通过 rate(node_netstat_Tcp_RetransSegs[3m]) 排查 TCP 重传问题的步骤1. **指标含义与初步分析**2. **关联指标排查**3. **定位具体问题源**4. **解决方案**5. **验证与监控** v2.0一、基础检查二、网络层分析三、…...

超越简单检索:探索知识图谱与大型语言模型的协同进化之路

摘要: 大型语言模型&#xff08;LLM&#xff09;在自然语言处理领域取得了革命性进展&#xff0c;但其在事实准确性、复杂推理和可解释性方面仍面临挑战&#xff0c;“幻觉”现象是其固有局限性的体现。知识图谱&#xff08;KG&#xff09;作为结构化人类知识的载体&#xff0c…...

汽车的四大工艺

文章目录 冲压工艺核心流程关键技术 焊接工艺核心流程 涂装工艺核心流程 总装工艺核心流程终检与测试静态检查动态检查四轮定位制动转鼓测试淋雨测试总结 简单总结下汽车的四大工艺&#xff08;从网上找了一张图&#xff0c;感觉挺全面的&#xff09;。 冲压工艺 将金属板材通过…...

研发效能实践:技术评审会生存指南

文章目录 &#x1f6a8;‌开篇暴击&#xff1a;为什么你的评审会像「菜鸡互啄」&#xff1f;‌⚙️‌第一章&#xff1a;Google Design Sprint——5天把争议变成共识‌&#x1f4c5; ‌Day 1-5 实操手册‌‌Map the Problem&#xff08;画地图&#xff09;‌‌Sketch Solutions…...