自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(316)
  • 收藏
  • 关注

原创 import PyEMD 一直报错问题:No module named ‘PyEMD‘修复

安装环境也对,信息也有,就是报错。

2025-12-05 16:36:47 192

原创 LLMs、RAG、AI Agent三个区别

LLM=大脑,RAG=图书馆与检索员,Agent=项目经理+工具箱。

2025-11-20 14:11:17 630

原创 C++工程实战入门笔记19-function、bind、lambda的使用

本文介绍了C++中三种函数式编程工具的使用方法:std::function:用于包装各类可调用对象,包括普通函数、成员函数等。bind:用于参数绑定和重排序,支持占位符(_1,_2等)实现参数位置调整,也可绑定成员函数与对象实例。 lambda表达式:支持匿名函数定义,包含参数传递、返回值、auto类型推导等功能,提供值捕获[=]和引用捕获[&]两种变量捕获方式,还能访问类成员函数。

2025-09-18 17:00:10 335

原创 C++工程实战入门笔记18-函数指针(全局函数和成员函数)

public:MyClass()// 构造函数//成员函数Testreturn 0;

2025-09-17 15:38:44 181

原创 C++工程实战入门笔记17-map的初始化和增删改查

使用 map 需要包含。

2025-09-17 10:19:34 195

原创 C++工程实战入门笔记16-智能指针

本文介绍了C++智能指针的使用方法,主要包括:1.创建智能指针的传统方式和推荐的make_unique方式;2.访问对象成员的两种方法;3.获取原始指针的get()方法;4.重置智能指针的reset()方法;5.释放所有权的release()方法;6.使用移动语义转移所有权。重点说明了make_unique的优势,包括更高效的代码、避免类型重复和内存安全保证。通过示例代码演示了unique_ptr的各项操作,展示了智能指针的生命周期管理机制。

2025-09-16 15:59:04 272

原创 C++工程实战入门笔记15-移动语义

本文通过5段C++代码演示了vector的构造、拷贝和移动语义。初始代码展示了vector的3次构造和析构;加入值传递函数调用后,触发3次拷贝构造;定义拷贝构造函数后,明确显示拷贝过程;使用move语义后,避免了拷贝操作;最后验证了移动后原vector变为空。这些实验清晰展示了vector对象在拷贝和移动时的行为差异,特别是move操作如何高效转移资源所有权。

2025-09-09 16:54:34 208

原创 C++工程实战入门笔记14-拷贝构造函数

本文介绍了C++拷贝构造函数的概念及使用场景。拷贝构造函数以ClassName(const ClassName&)形式定义,用于用一个已存在对象初始化新对象。主要调用场景包括:对象初始化、按值传参和函数返回对象(无优化时)。文章通过自定义String类示例,展示了拷贝构造的实现方式,并对比了值传递(触发拷贝)和引用传递(不拷贝)的区别。最后通过测试代码演示了不同情况下拷贝构造函数的调用时机及对象生命周期。

2025-09-09 16:35:35 294

原创 C++工程实战入门笔记13-多态

本文演示了C++中多态性的实现过程。首先通过Widget基类和Rect、Circle派生类展示成员函数重写,但发现非多态调用问题。然后通过添加virtual关键字和override修饰符实现真正多态。最后通过Scene类展示多态在实际工程中的应用,实现了统一管理多种图形对象、统一接口调用和易于扩展的代码结构。这种设计体现了面向对象的核心原则,是构建大型可维护C++应用的基础。

2025-09-08 16:35:08 376

原创 C++工程实战入门笔记12-继承、派生、保护、公开、私有

这段C++代码展示了继承的基本概念和实现方式。重点内容包括: 继承关系:通过public、protected和private三种继承方式实现类之间的派生关系 访问控制:演示了public、protected和private成员在不同继承方式下的访问权限变化 构造/析构顺序:基类构造先于派生类,析构顺序相反 内存模型:派生类包含基类子对象和自身成员 名称遮蔽:派生类中同名成员会隐藏基类成员 构造函数调用:派生类可以指定调用基类的特定构造函数。

2025-09-08 14:07:05 639

原创 C++工程实战入门笔记11-三种初始化成员变量的方式

本文介绍了C++中三种类成员初始化方式:默认成员初始化器(C++11)、构造函数初始化列表和构造函数内赋值。默认初始化器在类声明中直接赋初值;初始化列表效率更高,适合const成员和引用;构造函数内赋值会导致额外构造开销。示例展示了如何结合使用这些方法,特别说明了const成员必须用初始化列表,而默认值可简化构造过程。最佳实践是优先使用初始化列表和默认初始化器,避免低效的构造函数内赋值。

2025-09-04 15:45:12 371

原创 C++工程实战入门笔记10-面向对象之静态成员变量和成员函数、构造函数和析构函数

这篇文章摘要了C++中静态成员变量、静态成员函数、构造函数/析构函数以及空指针使用的关键概念。主要内容包括:静态成员变量在类中声明而在类外定义初始化,被所有对象共享;静态成员函数不能访问非静态成员,只能访问静态成员;构造函数在对象创建时自动调用,析构函数在对象销毁时自动调用;建议使用nullptr表示空指针,释放内存后应及时置空。文章通过代码示例展示了全局对象、静态局部对象和普通局部对象的构造/析构时机差异,以及静态成员函数在单例模式中的应用。

2025-09-04 15:40:05 269

原创 C++工程实战入门笔记9-面向对象之成员变量和成员函数

本文介绍了C++面向对象编程的基础概念,包括类与对象、成员变量和成员函数的使用。通过代码示例展示了类的定义、成员变量初始化、成员函数(内联与非内联)的实现方式,以及this指针的用法。重点讲解了类内/外定义函数的区别、内联函数优化建议,并通过实际案例演示了对象创建、成员访问和函数调用的基本操作。文中还包含内存地址打印等调试技巧,帮助读者理解对象在内存中的表示和this指针的实质。

2025-08-28 16:44:30 232

原创 C++工程实战入门笔记8-日志系统实现分析与优化

本文介绍了三种C++日志系统的实现方法。首先展示了一个简单的调试日志宏LOGDEBUG,可将信息输出到控制台。随后优化为一个更完善的日志系统,包含时间戳、日志级别、文件名和行号等信息。最后实现了可配置的日志输出方式,支持将日志输出到控制台、字符串流或文件。通过streambuf的重定向,可以灵活切换日志输出目标。文中提供了完整的代码示例和输出效果截图,展示了日志系统从简单到完善的演进过程。

2025-08-28 13:29:06 275

原创 C++工程实战入门笔记7-输入输出(一)

C++标准库中的I/O流组件提供了强大的输入输出功能。iostream库处理标准输入输出,包含cin、cout等流对象和格式化操作符;sstream库实现字符串与数据类型的相互转换,支持流式操作;fstream库则提供文件读写功能,支持文本和二进制模式。这些库通过流操作符(<<, >>)和成员函数(get, getline等)实现数据的高效处理,并包含错误检测机制(cin.fail())。典型应用包括控制台交互、字符串格式化和文件操作,是C++程序基础I/O操作的核心组件。

2025-08-28 13:05:41 216

原创 C++工程实战入门笔记6-函数(三)关于base16编码的原理和函数模块化实战

本文介绍了计算机编码的基础知识,重点讲解了ASCII码和Base16编码的原理与实现。ASCII码用二进制表示字符,遵循特定大小规则(数字<大写字母<小写字母)。Base16将每个字节转换为两个十六进制字符,适用于Unicode码点表示。文章详细说明了不同码点值对应的字节数规则(1-4字节),并以"你好"为例演示了Base16编码过程(E4BDA0E5A5BD)。最后提供了C++实现Base16编解码的代码示例,包括直接实现和模块化函数两种方式。

2025-08-27 14:03:24 546

原创 C++中Windows上设置控制台为UTF-8

【代码】C++中Windows上设置控制台为UTF-8。

2025-08-27 11:50:21 149

原创 C++中base16编码结果与预期不符问题:“你好”的代码结果:C4E3BAC3,但实际预期是E4BDA0E5A5BD

在C++代码中,对字符串"你好"进行Base16编码,预期得到的是UTF-8编码的十六进制形式"E4BDA0E5A5BD",但实际得到的是GBK编码的十六进制形式"C4E3BAC3"。

2025-08-27 10:56:21 150

原创 C++工程实战入门笔记5-函数(二)

C++函数特性与数组/字符串处理总结 本文介绍了C++中的函数默认参数、重载机制以及数组/字符串处理要点。默认参数适用于函数行为相同但某些参数有默认值的情况,而重载适用于不同参数类型/数量的完全不同实现。数组作为函数参数会退化为指针,使用vector和string可以更安全地处理数据,通过引用传递可避免不必要的复制。文章通过多个示例展示了这些特性的具体应用场景和注意事项。

2025-08-26 16:36:43 466

原创 C++工程实战入门笔记4-函数(一)

本文介绍了C++中函数参数传递、变量作用域、指针和引用的核心概念。主要内容包括:1) 实参、形参、函数调用和返回值的区别与使用;2) 全局变量、静态全局变量、局部变量和静态局部变量的生命周期和作用域对比;3) 指针的本质是内存地址,指针变量用于存储指针;4) 引用作为变量的别名,效率更高且必须初始化;5) 通过指针和引用传递参数可减少复制开销。文章通过代码示例展示了各种变量的内存地址变化和实际应用场景,为理解C++内存管理和参数传递机制提供了清晰指导。

2025-08-26 13:14:55 325

原创 C++工程实战入门笔记3-数组

三种数组:栈区、堆区、容器vector、数组元素的查找和插入

2025-08-25 16:04:24 142

原创 C++工程实战入门笔记2

这篇文章主要介绍了C++中的几个实用编程技巧: system函数应用, 命令行参数处理 - 展示了如何通过argc和argv[]获取程序执行参数。 枚举类型, 位运算操作 - 使用bitset库演示了与、或、非等位运算操作。 字符串处理 - 介绍了string类的多种操作。

2025-08-25 10:30:36 228

原创 C++工程实战入门笔记1

本文介绍了C++程序从代码到运行的过程,重点讲解了变量作用域和数据类型。项目命名建议全小写以避免Linux/Windows系统差异。示例代码展示了基本数据类型(int、float等)的使用、变量作用域规则(全局/局部变量)、常量定义(const/constexpr)以及auto类型推导。通过打印变量值和内存地址,演示了数据类型的内存占用情况。文章还强调了作用域对变量访问的影响,以及不同常量类型的初始化要求。

2025-08-25 09:19:50 180

原创 ns (纳秒)、ps (皮秒)、s (秒)、ms (毫秒) 之间的完整换算关系

2025-07-23 09:18:24 157

原创 C++中push_back与emplace_back

先看代码。

2025-06-24 11:08:53 276

原创 C++中栈stack的基本使用(入门)

栈(Stack)是一种后进先出的数据结构,类似于现实生活中的一叠盘子,最后放上去的盘子总是最先被取走。C++ 中,std::stack是一个容器适配器,提供了简洁的栈操作接口。使用时需要。

2025-06-23 16:11:24 278

原创 mysql中的<>和!=

在MySQL中,<>运算符表示。它与!运算符功能完全相同,都是用于比较两个表达式是否不相等。

2025-06-20 11:50:37 485

原创 C++中循环嵌套leetcode练习题目-好二元组和好三元组数目统计

给你一个整数数组 nums。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对。返回好数对的数目。

2025-06-20 11:16:10 199

原创 C++中的异或运算

在 C++ 中,异或运算(XOR) 是一种按位运算符,使用符号。其核心规则是:相同为 0,不同为 1。

2025-06-20 10:25:40 186

原创 C++中的(星号*、点 . 与箭头 ->)

解引用:把“地址”变“对象”. 成员访问:对象 → 成员-> 指针成员访问:指针 → (自动解引用) → 成员。

2025-06-12 15:47:07 249

原创 py和C++返回数组语法符号区别

给你一个四舍五入到两位小数的非负浮点数 celsius 来表示温度,以 摄氏度(Celsius)为单位。需要将摄氏度转换为 开氏度(Kelvin)和 华氏度(Fahrenheit),并以数组的形式返回结果。返回数组ans。

2025-06-12 14:47:14 164

原创 C++中的“静态方法”static声明和定义

1. 声明:在 .h 文件中声明静态方法,以便其他代码可以访问它。 2. 定义:在 .cpp 文件中提供静态方法的实现。

2024-12-13 16:40:44 737

原创 D28—【607. 销售员】

根据表 orders 中的订单 ‘3’ 和 ‘4’ ,容易看出只有 ‘John’ 和 ‘Pam’ 两个销售员曾经向公司 ‘RED’ 销售过。编写解决方案,找出没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。所以我们需要输出表 salesperson 中所有其他人的名字。以 任意顺序 返回结果表。

2024-12-13 14:29:48 288

原创 D27—【570. 至少有5名直接下属的经理】

该表的每一行表示雇员的名字、他们的部门和他们的经理的id。编写一个解决方案,找出至少有五个直接下属的经理。如果managerId为空,则该员工没有经理。id 是此表的主键(具有唯一值的列)。没有员工会成为自己的管理者。以 任意顺序 返回结果表。

2024-12-13 14:26:41 286

原创 D26—【1280. 学生们参加各科测试的次数】

Alice 参加了 3 次数学测试, 2 次物理测试,以及 1 次编程测试;Bob 参加了 1 次数学测试, 1 次编程测试,没有参加物理测试;John 参加了数学、物理、编程测试各 1 次。Alex 啥测试都没参加;

2024-12-13 14:20:28 171

原创 D25—【1378. 使用唯一标识码替换员工ID】

展示每位用户的 唯一标识码(unique ID );如果某位员工没有唯一标识码,使用 null 填充即可。Alice and Bob 没有唯一标识码, 因此我们使用 null 替代。Winston 的唯一标识码是 3。Jonathan 唯一标识码是 1。你可以以 任意 顺序返回结果表。Meir 的唯一标识码是 2。

2024-12-13 14:15:04 253

原创 D24—【1050. 合作过至少三次的演员和导演】

编写解决方案找出合作过至少三次的演员和导演的 id 对 (actor_id, director_id)。

2024-12-13 14:11:43 174

原创 D23—【1693. 每天的领导和合伙人】

在 2020-12-8,丰田(toyota)有领导者 = [0, 1] 和合伙人 = [0, 1, 2] ,同时本田(honda)有领导者 = [1, 2] 和合伙人 = [1, 2]。在 2020-12-7,丰田(toyota)有领导者 = [0] 和合伙人 = [1, 2] ,同时本田(honda)有领导者 = [0, 1, 2] 和合伙人 = [1, 2]。对于每一个 date_id 和 make_name,找出 不同 的 lead_id 以及 不同 的 partner_id 的数量。

2024-12-13 14:05:23 215

原创 python中的Counter函数

在 Python 中,Counter是模块中的一个类,用于统计可迭代对象中元素的出现次数,并以字典的形式返回,键为元素,值为对应的计数。它非常适合处理频率统计问题。

2024-12-13 13:13:50 481

原创 D1—【1768. 交替合并字符串】

返回 合并后的字符串。

2024-12-12 10:37:21 399

苹果手机和windows电脑隔空传输文件

该文件是windows版本的LocalSend 软件,苹果手机下载LocalSend 可以实现和windows电脑隔空传输文件,https://github.com/localsend/localsend/releases

2025-01-09

瓜果识别数据集,17种瓜果的图片,jpg格式

17种瓜果的图片,每个种类约120个样本。 详细瓜果名称: ['丝瓜', '人参果', '佛手瓜', '冬瓜', '南瓜', '哈密瓜', '木瓜', '甜瓜-伊丽莎白', '甜瓜-白', '甜瓜-绿', '甜瓜-金', '白兰瓜', '羊角蜜', '苦瓜', '西瓜', '西葫芦', '黄瓜']

2022-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除