自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++中迭代器与指针

场景推荐处理 STL 容器✅必须用迭代器写模板/泛型代码✅必须用迭代器与 STL 算法交互✅必须用迭代器C 风格数组 / 原始内存✅用指针系统级编程 / 内存操作✅用指针不确定?✅优先用迭代器(更安全、更通用)🎯核心原则“用最高抽象层次完成任务”—— 能用迭代器就不用指针,除非你明确需要底层控制。在现代 C++(C++11 及以后)中,迭代器是标准、安全、可组合的首选;指针是底层、危险、需谨慎使用的工具。指针回答“内存在哪”,迭代器回答“元素在哪”。前者是机器视角,后者是程序员视角。

2026-01-07 10:57:52 903

原创 STL 迭代器思维框架(搭积木1-find)

find()返回的是“位置”(迭代器),不是布尔值end()是“无效位置”的哨兵,统一表示“未找到”迭代器是位置抽象,让算法与容器解耦位置支持运算、比较、传递,是泛型编程的基础整个 STL 建立在“[begin, end) 半开区间”约定之上🌟迭代器不是指针,但像指针;不是数据,但引用数据。它是 C++ 抽象能力的核心体现,是连接具体与泛型的桥梁。通用性:一套算法,适配多种容器效率:根据迭代器能力选择最优实现安全:明确边界与失效规则组合:通过适配器创造新行为延伸思考下次当你写it!

2026-01-07 10:35:36 704

原创 哈希表之有效的字母异位词C++

关键点说明映射函数,此处key - 'a'就是完美哈希函数(无冲突)桶(Bucket)record[26]就是26个“计数桶”,每个桶存一类字符的频次碰撞?本题无碰撞!因为a~z严格一一映射到0~25方法时间空间适用场景数组哈希(本题)O(n)O(1)小范围固定字符集✅ 推荐O(n)O(k)通用字符集(含Unicode)排序对比O(n log n)O(1)字符串短 or 不要求最优复杂度💡记住一句话“当字符集已知且小,就用数组模拟哈希;否则用 map。

2026-01-06 21:35:56 846

原创 Vscode-gitee上传流程

视频教程:3_VSCode+git上传代码到gitee仓库_哔哩哔哩_bilibili文字教程:(36 封私信 / 82 条消息) 我看谁还不懂 Git !(万字干货) - 知乎

2026-01-05 12:01:32 261

原创 Windows-PC-Vscode-Gitee链接流程(百分百成功)

安装后验证:打开终端/命令提示符,输入 git --version。下载地址:https://git-scm.com/GitLens(推荐):增强 Git 功能。直接在 VS Code 扩展市场搜索安装。Git Graph:可视化提交历史。现在配置已经成功了!

2026-01-04 23:32:17 277

原创 机械臂中的kinematics(运动学)原理

机械臂运动学是连接高层任务指令与底层关节运动的数学桥梁。正运动学(D-H法):从关节到末端的确定性映射,是建模和分析的基础。逆运动学:从末端到关节的复杂映射,是任务执行的关键,挑战在于求解和优化。雅可比矩阵:沟通几何与微分、速度与静力的核心工具,揭示了机械臂运动的局部特性(如奇异性)。这三者共同构成了机械臂运动、规划与控制的理论基石。现代机器人控制系统(如ROS中的MoveIt)的核心算法正是基于这些原理进行封装和优化的。理解机械臂运动学,是进行机器人设计、编程和应用开发的必备知识。

2026-01-02 12:09:41 876

原创 机器人导航中的kinematics(运动学)原理

运动学是连接机器人"高层意图"(去哪、怎么走)和"底层执行"(轮子怎么转)的桥梁。它为导航中的规划、控制和状态估计提供了最基础的数学模型。理解并准确建模机器人的运动学,是开发一个能够精准、可靠移动的自主机器人的第一步。在实际应用中这些模型被封装在等软件包中开发者需要正确配置机器人的运动学参数才能实现良好的导航性能模型正运动学逆运动学差速驱动阿克曼转向位姿更新(通用)这样格式化的内容应该可以在优快云的Markdown编辑器中正确显示了。

2026-01-02 12:09:31 851

原创 机器人导航中的Kinematics(运动学)原理

运动学是连接机器人"高层意图"(去哪、怎么走)和"底层执行"(轮子怎么转)的桥梁。它为导航中的规划、控制和状态估计提供了最基础的数学模型。理解并准确建模机器人的运动学,是开发一个能够精准、可靠移动的自主机器人的第一步。在实际应用中这些模型被封装在等软件包中开发者需要正确配置机器人的运动学参数才能实现良好的导航性能模型正运动学逆运动学差速驱动阿克曼转向位姿更新(通用)这样格式化的内容应该可以在优快云的Markdown编辑器中正确显示了。

2026-01-01 23:26:47 842

原创 机器人导航中的kinematics

其逆运动学更直接:给定期望的 \( v \) 和转弯半径 \( R \),计算所需的 \( \phi \)。在机器人导航中,**运动学研究的是机器人的运动(位置、速度)与执行机构的动作(轮子转速、转向角)之间的数学关系,而不考虑产生这些运动的力或力矩**。* 将路径转化为随时间变化的运动状态(\(x(t), y(t), \theta(t), v(t), \omega(t)\))。3. **模型不确定性**:机器人的实际尺寸(如轮径 \(r\)、轴距 \(L\))可能与理论值有微小差异,需要校准。

2026-01-01 23:23:34 457

原创 DH参数法--正向运动学(以串联机械臂为前提)

公法线的长度,用标量 a_{i-1} 来表示,称为杆 i-1 的连杆长度。第一条原则:z_i 轴与关节轴 i 轴线重合,z_{i-1} 轴与关节轴 i-1 轴线重合。连杆的扭转角 α_{i-1} 表示关节轴线 z_{i-1} 到 z_i 的转角,在 x_{i-1} 处度量。从 x_{i-1} 与轴线 z_i 的交点到连杆坐标系 {i} 原点的有向距离(正向沿 z_i 方向)。当设定连杆坐标系 {i-1} 和 {i} 后,我们下面来定义 4 个参数,以精确确定 T_{i-1,i}。

2025-12-23 11:39:04 472

原创 滑动窗口(寻找最大子串)

其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求。所以,我们要移动这个队列!如何移动?我们只要把队列的左边的元素移出就行了,直到满足题目要求!一直维持这样的队列,找出队列出现最长的长度时候,求出解!时间复杂度:O(n)

2025-12-09 11:25:08 308

原创 SLAM基础1:同步定位与建图

2007年开源框架ORB-SLAM的出现,标志着SLAM进入实用化阶段。近年来,深度学习与SLAM的融合成为研究热点,推动了视觉SLAM(VSLAM)和激光SLAM的快速发展。通过实时处理传感器数据,SLAM系统能够在未知环境中构建地图的同时确定自身位置,实现自主导航与决策。根据传感器类型,SLAM可分为视觉SLAM(VSLAM)、激光SLAM和融合SLAM三大类。视觉SLAM利用相机图像信息进行定位与建图,激光SLAM则依赖激光雷达获取精确空间数据,而融合SLAM结合多种传感器优势,提升系统鲁棒性。

2025-11-25 11:31:44 40

原创 const关键字

const关键字

2025-11-17 11:01:17 324

原创 一文吃透C++指针基础

指针可以指向结构体类型的对象:在 C++ 中,ptr->x 是一种用于通过指针访问结构体(或类)成员的运算符,它的作用等价于 (*ptr).x。// 二级指针(指向指针的指针)指针变量->成员名 , 它的作用是:通过指针访问其所指向对象的成员。// 错误:不能修改指针本身。// 指针本身可以修改。// 可以修改所指向的值。// 指向常量的指针。// *p = 20;// 错误:不能通过const指针修改值。

2025-11-16 16:42:20 678

原创 一文吃透C++多态基础

假如想输出 grad1 的全部数据成员,当然也可以采用这样的方法:通过对象名调用 display 函数,如 grad1.display( ),或者定义一个指向 Graduate 类对象的指针变量 ptr,然后使 ptr 指向 grad1,再用 ptr -> display( ) 调用。这两种办法都不方便,它要求在调用不同派生类的同名函数时采用不同的调用方式,正如同前面所说的那样,到不同的目的地要乘坐指定的不同的公交车,一一对应,不能搞错。提供先进的推理,复杂的指令,更多的创造力。

2025-11-15 15:05:50 961

原创 一文讲解C++构造函数基础

(3)如果构造函数的全部参数都指定了默认值,则在定义对象时可以给一个或几个实参,也可以不给出实参。**一个类只能有一个默认构造函数,也就是说,可以不用参数而调用的构造函数,一个类只能有一个。**其道理是显然的,为了避免调用时的歧义性。因为类定义是放在头文件中的,它是类的对外接口,用户是可以看到的,而函数的定义是类的实现细节,用户往往是看不到的。上面的初始化表示:用形参 h 的值初始化数据成员 height,用形参 w 的值初始化数据成员 width,用形参 len 的值初始化数据成员 length。

2025-11-14 23:23:28 600

原创 关于:传统TEB算法路径规划研究

以下是本篇文章正文内容,下面案例可供参考传统的TEB路径规划算法是通过实时环境探测,探测到的环境信息不断进行反馈,根据反馈结果实时优化路线,实现了在未知和已知环境下的局部避障功能。但是在实际应用过程中还是会存在部分问题。比如在复杂动态环境中,在狭窄通道内遇到数个动态障碍物陷阱导致道路不可通行时,TEB算法可能存在局部最小或不可到达的情况。

2025-11-13 23:46:14 2150

原创 I AM COMING!

新人报道

2025-11-13 21:09:43 96

【C++泛型编程】基于STL迭代器的容器算法解耦设计:统一数据访问与处理的抽象框架构建

内容概要:本文系统讲解了STL迭代器的核心思想与设计哲学,从find()函数引入迭代器作为“位置”而非数据本身的抽象概念,阐述其作为容器与算法之间桥梁的作用。文章深入剖析了迭代器的三种视角(智能指针、位置标记、游标)、六大组件关系、迭代器类别(输入、双向、随机访问)及其对算法选择的影响,并详细说明了迭代器生命周期、失效机制及现代C++中的演进,如C++20的Ranges和视图适配器。最后上升到泛型编程、函数式风格与设计模式层面,揭示迭代器在解耦容器与算法、实现通用性和抽象化中的关键地位。; 适合人群:具备一定C++基础,熟悉STL基本使用的中高级开发者,尤其是希望深入理解STL底层机制和现代C++编程范式的研发人员; 使用场景及目标:①理解STL中迭代器如何实现容器与算法的解耦;②掌握不同迭代器类型的特性及其对算法效率的影响;③学习如何利用迭代器思维编写通用、可复用的泛型代码;④为掌握C++20 Ranges、视图和惰性求值等现代特性打下坚实基础; 阅读建议:此资源强调从具体操作(如find、遍历)到抽象思维(泛型、范围、适配器)的跃迁,建议结合代码实例逐步实践,重点关注迭代器失效规则、标签分派机制以及范围组合的函数式表达,从而真正建立起“迭代器即数据导航”的系统性认知。

2026-01-07

算法设计基于数组哈希表的字符频率统计:实现高效的字母异位词判定系统

内容概要:本文深入解析LeetCode第242题“有效的字母异位词”,重点讲解如何利用数组作为简易哈希表来高效判断两个字符串是否互为字母异位词。文章详细剖析了基于字符频率统计的算法实现,通过创建长度为26的整型数组,利用字符与'a'的ASCII码差值作为索引,分别对字符串s和t进行“加一”和“减一”操作,最后检查数组是否全为零来得出结论。该方法时间复杂度为O(n),空间复杂度为O(1),优于排序法。; 适合人群:具备基本编程能力、熟悉字符串和数组操作的初级算法学习者,以及准备技术面试的程序员;; 使用场景及目标:①掌握哈希思想在实际问题中的简化应用;②理解字符频率统计的经典解法;③提升对时间与空间复杂度分析的能力; 阅读建议:建议结合代码逐步调试,手动模拟record数组的变化过程,加深对索引映射和频次抵消机制的理解,并尝试扩展到大写字母或Unicode字符场景以巩固知识点。

2026-01-06

空空如也

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

TA关注的人

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