C++
文章平均质量分 90
刷题
Despacito0o
电子信息工程专业,专注于嵌入式系统开发与信号处理
熟练掌握 C/C++、Python 及 MCU 开发环境 (STM32、ESP32)
️ 精通 FreeRTOS、嵌入式 Linux 和实时系统架构设计
擅长通信协议实现 (I2C、SPI、UART、CAN、MQTT)
热衷于物联网和智能硬件开发,打造低功耗高效解决方案
擅长传感器数据采集与处理,实现智能感知和测量系统
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 852:山脉数组的峰顶索引解析与实现
这篇文章详细解析了LeetCode 852题「山脉数组的峰顶索引」的解题思路和实现方法。主要内容包括: 题目描述:要求在先递增后递减的山脉数组中,找到峰值元素的下标,时间复杂度需为O(log n)。 解题思路:利用二分查找算法,通过比较中间元素与其右侧元素的大小关系来缩小搜索范围: 若arr[mid] < arr[mid+1],说明峰值在右侧 否则峰值在左侧或就是mid 代码实现:提供了C++的二分查找实现,详细解释了算法的每一步执行过程。 复杂度分析:时间复杂度为O(log n),空间复杂度为O(1原创 2025-07-20 13:26:43 · 1122 阅读 · 0 评论 -
C++多态与虚函数详解:从入门到精通
本文深入讲解C++多态机制和虚函数应用,主要内容包括: 多态基础概念:区分编译时多态(函数重载)和运行时多态(虚函数),通过绘图程序案例展示多态的优势 虚函数核心技术: 虚函数表(vtable)实现动态绑定机制 多继承下的虚函数覆盖规则 虚函数与函数重载的关键区别 虚析构函数的重要性及内存管理实践 抽象类与纯虚函数: 抽象类定义与使用场景 纯虚函数语法和实现要求 通过学生类案例展示抽象类应用 文章通过丰富代码示例解析多态的核心机制,如动态绑定、函数覆盖、虚析构函数等关键概念,帮助开发者深入理解并正确应用C+原创 2025-05-25 22:35:26 · 1468 阅读 · 0 评论 -
C++面向对象编程实战:继承与派生全解析
本文深入解析C++面向对象编程中的继承与派生机制,涵盖单继承、多继承、类组合等核心概念。通过代码示例展示了构造函数调用顺序、同名成员隐藏、类型转换等关键特性。文章对比了继承与组合的优缺点,强调优先使用组合的设计原则,并详细说明了多继承中的命名冲突解决方案。最后还探讨了类层次结构中的类型转换规则,为构建合理的类体系提供实用指导。原创 2025-05-25 21:21:54 · 1659 阅读 · 0 评论 -
C++多态与虚函数详解——从入门到精通
本文详细介绍了C++中的多态与虚函数,通过六个实例深入讲解了多态的实现、虚函数与普通函数的区别、多层继承中的虚函数、虚析构函数的重要性、多重继承中的析构顺序以及纯虚函数与抽象类的概念。多态通过虚函数机制实现动态绑定,允许基类指针或引用调用派生类的函数,增强了程序的灵活性和扩展性。虚析构函数确保派生类资源正确释放,而纯虚函数则用于定义抽象类,强制派生类实现特定功能。理解这些概念对于掌握C++面向对象编程至关重要,并在实际开发中广泛应用于图形用户界面等场景。原创 2025-05-18 22:57:34 · 1160 阅读 · 0 评论 -
【动态规划详解】最大正方形问题的优雅解法与图解分析
最大正方形问题要求在一个由 '0' 和 '1' 组成的二维矩阵中,找出只包含 '1' 的最大正方形,并返回其面积。该问题可以通过动态规划高效解决。核心思想是定义 dp[i][j] 为以 (i,j) 为右下角的最大正方形边长,状态转移方程为 dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1,取左、上、左上三个方向的最小值加1。通过遍历矩阵,逐步填充 dp 数组,最终找到最大边长并计算面积。该算法的时间复杂度为 O(m×n),空间复杂度可优化至 O原创 2025-05-16 22:01:23 · 1056 阅读 · 0 评论 -
C++核心编程:类与对象全面解析
类的定义与对象的创建构造函数与析构函数的使用拷贝构造函数的特性对象数组与对象指针的操作封装和数据保护这些概念是深入理解C++的基础,也是进阶到更复杂系统设计的垫脚石。想更深入学习嵌入式开发和实时操作系统?请访问Despacito0o的FreeRTOS学习资源库,那里有从入门到精通的全套资源!🚀学习建议:如果你掌握了本文的内容,推荐接下来学习C++的继承和多态特性,以及模板编程。这些高级特性将使你的代码更加灵活和强大!原创 2025-04-28 20:07:17 · 1135 阅读 · 0 评论 -
C++程序设计基础实验:C++对C的扩展特性与应用
熟悉了Dev-C++环境下C++的基本编程流程深入理解了C++对C的重要扩充特性:函数重载:同名不同参的函数可以共存,增强代码可读性引用参数:相比指针更安全、语法更简洁的参数传递方式指针操作:C++继承并增强了C语言的指针功能掌握了不同参数传递方式的特点与应用场景:值传递:参数在函数内的修改不影响原值引用传递:参数在函数内的修改直接影响原值指针传递:通过地址间接修改原值。原创 2025-04-18 20:05:16 · 803 阅读 · 0 评论 -
3.单词拆分
若 `dpj` 为 `true`(即前 `j` 个字符已合法),且子串 `sj..i-1` 存在于字典中,则 `dpi` 设为 `true`。外层遍历 `i` 从 `1` 到 `s.length()`,内层遍历 `j` 从 `0` 到 `i-1`。2. `i=8` 时,`j=4`,子串 `"code"` 在字典中,`dp8` 设为 `true`,最终返回 `true`。1. `i=4` 时,`j=0`,子串 `"leet"` 在字典中,`dp4` 设为 `true`。1. 动态规划数组初始化。原创 2025-04-01 09:19:54 · 458 阅读 · 0 评论 -
最长回文子串
/ 若以 i' 为中心的最长回文子串范围超出了以 box_m 为中心的回文串的范围(即 i+half_len[i'] >= box_r)// 结合上文的下标转换关系,得到其在 s 上的下标范围是从 (max_i-hl)/2 到 (max_i+hl)/2-2。- `max_i` 对应预处理后的回文中心,例如 `t = "^babad$"` 中 `max_i=6`(对应字符 `b`)。- 若当前字符 `i` 在 `box_r` 内,则其镜像点 `mirror = 2*box_m - i`。原创 2025-03-29 02:04:31 · 885 阅读 · 0 评论
分享