自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ Qt开发学习规划路线

C++ Qt是一个基于C++语言的跨平台应用程序开发框架,具有丰富的UI组件和API库。Qt包括了许多模块,如Qt Core、Qt GUI、Qt Network等,每个模块都提供了一系列的类和函数。Qt还提供了集成开发环境(IDE)Qt Creator,使得开发人员可以通过它来创建、编译、调试和部署Qt应用程序。

2023-04-26 22:23:41 2350 1

原创 腾讯 C++ 一面被拷打:进程线程区别?还有多线程多进程该咋选

最后再回到面试题:其实没有 “绝对该用多进程” 或 “绝对该用多线程” 的场景 —— 关键是看业务需要什么。要隔离故障,就用多进程拆模块(媒体解码、安全沙箱);要高效并发,就用多线程做细粒度执行(信令转发、同房间解码);二者配合,就是 “用多进程搭好安全的架子,用多线程填高效的细节”。记住:面试官问这题,不是要你背答案,而是要你证明 —— 你懂技术的本质,还能结合业务写出关键代码,落地到实际场景。把 “图示 + 代码” 讲清楚,把 “腾讯会议的场景” 带进去,这题就稳了。往期文章推荐。

2025-12-04 16:06:53 353

原创 C++ 完美转发:3 大核心原理 + 5 个避坑技巧

在函数模板中,将参数传递给被调用函数时,保持参数的原始值类别(左值 / 右值)和 const/volatile 属性不变,同时避免不必要的对象拷贝。// 通用事件处理器public:// 注册回调:接收任意可调用对象(函数、lambda、函数对象)// 触发事件:完美转发参数给所有回调// 完美转发参数private:// 测试回调函数// 注册回调});// 触发事件:传递不同类型的参数return 0;

2025-11-27 21:58:46 917

原创 Qt 实战:即时通讯项目

本文将带你从 0 到 1 完成一个基于 Qt 的 即时通信项目(先用TCP做一个简单的即时通讯,后深度扩展【见Part 6】),覆盖与测试。

2025-11-08 15:44:48 940

原创 vector、list、deque:C++ 序列容器核心解析

优先选择 vector:除非有明确的双端操作或中间修改需求,vector 是 “默认最优选择”—— 它的缓存友好性和内存效率远超其他容器;谨慎使用 list:仅在 “频繁中间插入 / 删除” 且 “遍历需求低” 的场景下使用,避免因 “缓存命中率低” 导致性能问题;deque 作为均衡选择:当需要 “双端操作 + 随机访问” 时,deque 是最佳选择,但需注意其非连续内存的限制;结合算法选择:若需使用std::sort()(需随机访问迭代器),排除 list;

2025-11-07 15:50:13 825

原创 快手C++二面真题:详解static_assert底层原理

static_assert的本质是 “编译器在特定阶段对常量表达式的条件校验”,其价值不仅在于 “提前发现错误”,更在于 “零运行时开销” 与 “模板友好性”。从 C++11 的基础语法,到 C++20 与consteval、模块的协同,static_assert始终是 C++ 编译时编程的核心工具。条件合法性:确保参数是编译时可求值的常量表达式,规避未定义行为;检查时机:理解模板实例化的延迟特性,避免误判约束生效时机;工程适配:结合编译器差异、跨平台需求、新标准特性,平衡检查粒度与编译效率。

2025-11-03 15:46:43 732

原创 C++ 正则表达式

及。

2025-10-30 15:32:07 538

原创 C++ 虚函数的使用开销以及替代方案

虚函数是 C++ 动态多态的基石,但其性能开销并非总是可忽略。框架设计、运行时扩展场景优先使用虚函数高频调用、内存受限场景优先选择模板、CRTP 等静态方案简单行为切换可采用std::function或函数指针在设计类层次结构时,先考虑是否真的需要多态性。如果不需要,避免使用虚函数。如果需要,合理使用虚函数,并在必要时考虑现代C++的替代方案。记住,"不要为了多态而多态",每个虚函数都有其代价。

2025-10-29 15:44:09 731

原创 基于原子操作的 C++ 高并发跳表实现

无锁编程是高并发 C++ 开发的核心技能,而跳表是无锁数据结构的 “入门经典”—— 其简单的结构能让我们聚焦于原子操作的核心逻辑,而非数据结构本身的复杂性。掌握本文的设计思想后,可进一步探索无锁队列、无锁哈希表等更复杂的并发数据结构,应对更高阶的性能挑战。点击下方关注【Linux教程】,获取 大厂技术栈学习路线、项目教程、简历模板、大厂面试题pdf文档、大厂面经、编程交流圈子等等。专注Linux C/C++技术讲解~更多 务实、能看懂、可复现 的技术文章和学习包尽在【Linux教程】

2025-10-21 21:30:13 721

原创 C++析构顺序:局部对象与继承结构的深度解析

自动管理对象(局部、静态、成员)遵循 “构造反序” 的默认规则,无需手动干预;手动管理对象(堆对象)需按资源依赖控制delete顺序,智能指针是最佳实践;复杂场景(继承、容器)需关注虚析构、声明顺序等细节,避免依赖冲突。咱们在写代码时,无需死记所有规则,只需抓住 “资源安全释放” 的核心目标:确保被依赖的资源后释放,优先使用自动管理方式(局部对象、智能指针),就能避免 90% 以上的析构相关问题。只有理解底层逻辑,才能在复杂场景中做出正确选择,写出安全、高效的 C++ 代码。

2025-10-18 15:12:39 705

原创 Qt C++ 教程:无边框窗体 + 自定义标题栏 + 圆角 + 拖拽拉升 + 阴影

Q_OBJECTpublic:protected:private:// 记录鼠标按下时相对于窗口左上角的偏移说明继承自 QWidget,构建基础窗口;定义两个受保护的事件处理函数,用于捕获鼠标行为;使用 dragPosition 存储拖动起始点与窗口坐标之间的偏移量。功能说明自定义标题栏替代系统默认标题栏,支持自由布局与样式定制三按钮控制最小化、最大化/还原、关闭,通过信号与主窗口通信动态图标切换窗口最大化时,“最大化按钮”自动变为“还原图标”拖动移动。

2025-10-13 16:26:15 1171

原创 Qt、wxWidgets、FLTK 怎么选?C++ 跨平台 GUI 工具选型全解析

项目需要极低资源占用(如嵌入式设备)。开发者熟悉 C++,且需要快速启动和简单 API。需要自定义图形渲染(如 OpenGL 集成)。项目需要丰富控件和商业支持。目标平台多样(包括移动端)。需要快速开发复杂 UI(如 Qt Quick)。项目需要原生控件外观和跨平台兼容性。开发者偏好MVC 架构和模块化设计。往期推荐用Qt+FFmpeg手写一个视频播放器(附完整代码)C/C++实战:KVStore存储项目Qt C++ 实现无边框窗体/自定义标题栏/圆角/窗口拖拽拉升和阴影。

2025-09-25 16:32:05 1472

原创 用 Qt+FFmpeg 手写视频播放器,完整代码直接拿

最近有粉丝问我:“想自己做个视频播放器,Qt能搞定吗?答案是肯定的在Qt中,有多种方式可以实现播放器功能。今天咱们就用Qt+FFmpeg,开发一个视频播放器。

2025-09-23 15:03:56 677

原创 C++造轮子:手搓 List 容器

/ 普通迭代器// 常迭代器代码解析:begin():返回指向第一个实际数据节点的迭代器(即头节点的下一个节点)end():返回指向哨兵节点(头节点)的迭代器,这就是遍历的终点!为什么end()是头节点?因为我们的链表是双向循环的,遍历完最后一个节点后,它的next就是头节点!const重载:为const list对象提供只读访问能力核心思想:利用哨兵节点作为统一的"终点标志",让空链表和非空链表的遍历逻辑完全一致!空链表时,begin()也等于end()(都指向头节点)

2025-09-18 16:24:22 1168

原创 ‌C++内存对齐实战:揭秘结构体大小的计算逻辑‌

内存对齐是计算机底层硬件高效、安全访问数据的基石。深入理解其原理(硬件要求、性能优势)和规则(有效对齐值 n、成员放置、整体补齐),对于编写高性能、可移植且内存高效的 C/C++ 代码至关重要。可以通过 alignas (C++11)、#pragma pack、__attribute__ 等工具干预对齐,但必须清醒认识其带来的空间开销和潜在的 ABI 兼容性风险,尤其是在跨模块或跨编译器协作时。优化结构体成员顺序是减少填充浪费最直接有效的手段。往期推荐。

2025-09-10 15:27:14 736

原创 深入理解Linux进程信号机制

就这么一套流程,信号在进程间的通信就整得明明白白了!

2025-09-04 21:34:11 1095

原创 解密Redis速度神话:从I/O多路复用到零拷贝

Redis 的卓越性能源于其核心设计的多重优势:基于内存的数据存储实现了极快的读写速度;单线程事件循环模型有效避免了上下文切换和锁竞争,保障了操作的原子性与系统稳定性;简洁高效的数据结构(如字符串、哈希、集合、有序集合等)配合高度优化的算法,极大提升了数据处理效率;同时,灵活的持久化机制(RDB 和 AOF)在保证高性能的同时,兼顾了一定程度的数据持久性与恢复能力。得益于这些特性,Redis 能够轻松支持每秒数十万次的并发操作,成为高并发、低延迟应用场景的理想选择。

2025-08-14 16:09:17 1154

原创 数据库面试精讲:MySQL 核心问题梳理

对(a, b, c)建索引,查询条件是a、ab、abc都可以走索引;bc不行。遇到范围查询(>、<、like等)后面的字段就失效了。如下图,对(a, b) 建立索引,a 在索引树中是全局有序的,而 b 是全局无序,局部有序(当a相等时,会根据b进行排序)。当a的值确定的时候,b是有序的。例如a = 1时,b值为1,2是有序的状态。当执行时a和b字段能用到索引。而对于查询条件时,a字段能用到索引,b字段则用不到索引。

2025-08-09 16:42:41 942

原创 C++音视频流媒体开发面试题:音视频基础

音视频开发八股文面试题

2025-08-06 22:18:13 1014

原创 C++协程实战:异步编程代码实现

/ 默认使用严格分离模式// 宽容分离模式,出错会记录日志这段代码主要是为了简化命名空间引用、类型声明和操作符使用,减少重复代码,提升可读性。使用 while(true) 实现了一个轮询逻辑。每次调用 FetchPayResult 查询支付状态。如果成功就返回结果,否则等一会再查。所有过程都在协程中进行,完全非阻塞,结构清晰。等待后台推送的支付结果信号。支持超时机制,防止无限等待。成功收到信号则返回结果,失败则返回超时或错误码。

2025-08-02 22:00:08 981

原创 春招突围战:二本计算机如何在Linux C++赛道杀出血路

春招突围战:二本计算机如何在Linux C++赛道杀出血路

2025-05-08 21:29:33 999

原创 顺丰科技QT面试题

顺丰科技QT面试题

2025-01-18 16:48:54 1021

原创 Qt使用QSoundEffect类实现播放音效或音乐

Qt使用QSoundEffect类实现播放音效或音乐

2025-01-11 19:48:02 395

原创 Qt/C++没有发展前景吗?

Qt/C++没有发展前景吗?

2025-01-06 21:03:31 2528

原创 整理了几个可写入简历的Qt开源项目

整理了几个可写入简历的Qt开源项目

2024-12-23 16:39:48 1254

转载 基于Qt中操作MySQL数据库示例

基于Qt中操作MySQL数据库示例

2024-12-19 14:53:18 1182

转载 初学Qt,用什么编程书好?

初学Qt,用什么编程书好?

2024-12-10 21:50:06 396

原创 双非本,想学C++,担心没有学历优势,找不到工作...

双非本,想学C++,担心没有学历优势,找不到工作...

2024-12-05 15:21:41 659

转载 Qt QML和QWidget混合编程(面试亮点)

Qt QML和QWidget混合编程(面试亮点)

2024-11-28 21:51:42 533 1

原创 c++11新特性总结,你都用过哪些新特性?

c++11新特性总结,你都用过哪些新特性?

2024-11-18 19:57:55 701

原创 Qt C++实战:Qt如何实现界面布局自动排版、自定义滚动条?

Qt C++实战:Qt如何实现界面布局自动排版、自定义滚动条?

2024-11-05 15:49:32 1137

原创 嵌入式工程师一定要学习掌握Qt吗?

嵌入式工程师一定要学习掌握Qt吗?

2024-10-29 17:54:25 814

原创 适合 C++ 新手学习的项目

适合 C++ 新手学习的项目

2024-10-28 19:59:40 1800

原创 Qt纯代码设计UI实例分析

Q_OBJECTprivate://UI 创建与初始化//初始化信号与槽的链接//Underline 的clicked(bool)信号的槽函数//Italic 的clicked(bool)信号的槽函数//Bold 的clicked(bool)信号的槽函数//设置字体颜色public:在 QWDlgManual 类的 private 部分,声明了界面上的各个组件的指针变量,这些界面组件都需要在 QWDlgManual 类的构造函数里创建并在窗体上布局。

2024-10-28 17:44:45 1120

原创 怎样才算学会了C++基础,一篇文章学习了解(包含Qt内容)

怎样才算学会了C++基础,一篇文章学习了解(包含Qt内容)

2024-10-24 16:38:24 874

原创 学习QT之解决方案和项目结构

学习QT之解决方案和项目结构

2024-10-21 16:20:19 1216

原创 Qt小项目:贪吃蛇实线

Qt小项目:贪吃蛇实线

2024-10-16 17:18:52 1107

原创 Qt开发工程师--模拟面试

Qt开发工程师--模拟面试

2024-10-11 16:38:10 980

原创 Qt项目界面文件(.ui)及其作用(超详细)

Qt项目界面文件(.ui)及其作用(超详细)

2024-09-26 14:31:43 2016

原创 多线程Qt下的八条规则

qt多线程

2024-09-21 17:35:48 984

空空如也

空空如也

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

TA关注的人

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