- 博客(34)
- 收藏
- 关注
原创 [ C++ ] | unordered_map 底层实现原理
摘要:unordered_map是基于哈希表实现的键值对容器,使用拉链法解决哈希冲突。当多个键映射到同一位置时,通过链表头插法存储元素。负载因子(元素数量/桶数)超过1时触发rehash扩容。STL中的哈希表使用_M_before_begin节点连接所有元素,桶节点指向链表的前驱节点。插入时根据桶是否为空选择头插位置,并维护节点间的指向关系。unordered_map通过封装这种哈希表结构实现了高效的查找和插入操作。
2025-06-30 23:55:48
436
原创 Windows下安装MySQL5.7安装过程
之后一路next,Execute,中间如果遇到让安装VSC++2013动态链接库安装就行。官网,下载需要注册一个账号。
2025-06-12 17:55:48
215
原创 浅谈Linux中一次系统调用的执行过程
让CPU去查中断向量表的0x80号中断服务函数,发现是系统调用入口函数,entry_INT80_32,保存当前用户寄存器信息,再读取eax中的系统调用函数的函数号,查系统调用函数的系统调用函数表,发现是open系统调用,之后执行sys_open(),参数通过ebx,ecx,edx传递,将执行玩的结果存放在eax中,恢复用户寄存器,执行iret返回用户态。当真正执行到 open( ... ) 的时候,首先将open() 系统调用的系统调用号,存储在eax寄存器中,之后执行 int 0x80。
2025-06-11 22:45:22
554
原创 [ Qt ] | 与系统相关的操作(三):QFile介绍和使用
Qt提供了便捷的文件操作类QFile,用于打开、读写和关闭文件。相比C语言的fopen/fread和C++的fstream,QFile更易用,支持构造函数指定路径后直接open操作。读写通过readAll/write等接口实现,配合QByteArray可轻松与QString转换。示例展示了通过菜单打开/保存文件,使用QFileDialog获取路径,QFile进行文件读写,并显示在QPlainTextEdit中。此外,Qt还提供了QTemporaryFile临时文件、QSaveFile安全写入等扩展类,以及Q
2025-06-05 14:27:49
607
原创 [ Qt ] | 与系统相关的操作(一):鼠标相关事件
Qt中很多的能力是操作系统提供的,只不过是Qt封装了系统的API。说到Qt系统相关呢~,主要分为下面几个部分:1. 事件2. 文件操作3. 多线程编程4. 网络编程5. 多媒体(视频、音频)这篇文章主要介绍“事件”。
2025-06-02 12:06:30
657
原创 [ Qt ] | Qlabel使用
本文介绍了Qt中QLabel控件的常用属性和操作方法。主要内容包括:1)文本设置(text/textFormat)和图片插入功能;2)窗口大小变化时的图片自适应处理(resizeEvent);3)边框和对齐方式的参数设置;4)文本缩进(包括首行缩进和多行缩进)和边距设置;5)QLabel特有的伙伴机制(buddy),可以关联单选框或复选框实现快捷键操作。文章通过具体参数和操作示例,详细说明了QLabel在界面开发中的实际应用技巧。
2025-05-29 23:12:28
706
原创 Boost站内API搜索助手项目
文章摘要:本文介绍了搜索引擎的核心技术流程,重点解析了正排索引与倒排索引的构建机制。正排索引通过文档ID映射文档内容,倒排索引则基于关键词关联文档ID。流程包括文档解析、索引建立和搜索处理三部分:1)使用Boost库处理HTML文档并存储结构化数据;2)建立正排索引存储文档信息,倒排索引统计词频计算权重;3)搜索时对用户输入分词查询,按权重排序返回结果。难点在于大小写处理的一致性,需将索引和查询词统一转为小写,但在生成摘要时需保留原文格式。该方案通过文档相关性计算优化了搜索结果排序。
2025-05-29 11:32:48
994
原创 [ Qt ] | Widget常用控件(四)
本文介绍了Qt界面开发中的三个实用功能:1)tooltip提示框的设置方法,通过setToolTip()实现悬停提示;2)focusPolicy焦点策略控制,说明Tab/Click等焦点切换方式及其实际应用场景(如在线考试防作弊);3)styleSheet样式表的使用,解释RGB颜色表示法(0-255)及如何在开发中通过取色器获取颜色值。三部分内容均为Qt界面开发的基础实用技巧。
2025-05-29 11:15:37
348
原创 [ Qt ] | QRadioButton和QCheckBox的使用
点击了不一定选中,比如之前我们设置了setCheckable(false),任然是可以响应点击事件,但是这里的checked就是false;checkable只是让按钮不被选中,但是任然可以响应点击事件,所以可以直接使用setEnable(false);toggled触发条件:第一次被选中、选中其他radioButton因为排他性触发,参数为false。问题:RadioButton默认是排他的,导致我们选择汉堡的时候会影响小食和饮料。解决:QButtonGroup为按钮分组,组内排他。
2025-05-29 10:59:18
857
原创 [ Qt ] | 常用控件(三):
Qt提供了多种光标控制方式,包括Widget级别的cursor()和setCursor(),以及全局的QGuiApplication::setOverrideCursor()。内置光标类型可直接使用,也可通过QPixmap自定义图片光标,支持设置点击位置和缩放。字体方面通过font()和setFont()控制,QFont属性通常由美工确定。开发者可查看网页字体(F12工具)作为参考。光标和字体对象都不需挂载到对象树,可直接创建于栈上。
2025-05-27 18:38:05
506
1
原创 [ Qt ] | 常见控件(二): window相关
windowsTitle 用于修改窗口标题,只能作用在顶层Widget上,如果是一个文本框或者按钮也可以调用setWindowTitle(),但是不会有任何效果,也不会报错(这个地方很不科学)。
2025-05-27 17:39:30
886
1
原创 简说Qt信号和槽
信号和槽是Qt框架中用于对象间通信的机制。信号是事件发生时发出的通知,而槽是响应信号的函数。通过connect函数,可以将信号与槽关联起来,实现多对多的关系。使用信号和槽的前提是类中必须引入Q_OBJECT宏。信号和槽的关联可以通过connect函数或UI界面右键控件转到槽的方式实现。自定义信号和槽可以通过public slots和public signals定义,自定义槽函数还可以使用lambda函数。通过emit关键字可以手动触发信号,而disconnect函数可以断开信号和槽的连接。
2025-05-22 19:08:11
815
1
原创 总结一个编程的学习方式~
一定要快速上手弄,不要在理论面前止步不前。互联网应用发展了这么久,很多东西都是非常方便的就可以使用起来,不要等到说将理论全部学明白了,再去写代码,再去用工具。
2025-05-21 16:58:19
492
1
原创 [ 计算机网络 ] | 宏观谈谈计算机网络
网络间通信,本质是不同的两个用户通信;。因为物理距离的提升,就衍生出了很多问题。TCP/IP协议栈 / OSI七层模型,将协议分层,每一层都是为了解决不同的因为物理距离的提升的产生的问题。
2025-05-19 21:02:12
702
1
原创 说说C/C++结构体大小计算(内存对齐)
C/C++结构体大小计算(内存对齐);修改默认对齐数;C++继承场景下的类的大小的计算;如何定义一个计算成员变量在类中偏移量的宏?
2025-05-14 17:09:19
613
原创 栈溢出攻击最基本原理
比较新的gcc编译器,会在边界几个位置中,设定一个随机值,程序执行完看那个随机值有没有变化,如果说变化了,就说明那个你越界访问了。但也是只限周围的几个(左右一两个)。这个函数在用gcc编译的时候是不会报错的,所以我们可以在尝试之后,修改LR的值,让代码返回到一个我们自己的函数中。这里再分享一道笔试题,nice公司的一道笔试题:下面这段代码的执行结果是什么?函数在调用的过程中,函数在调用之前呢,会将调用完这个函数之后的下一条命令的地址保存到LR中。
2025-05-10 23:45:02
422
原创 代码复用与分层
一个听音乐的例子:使用read这样的系统调用将磁盘中的mp3文件读取到内存中,使用解码工具将解码后的pwm波数据,使用write写到声卡文件中,声卡做AD转换,将数字信号转化成模拟信号。库:将代码打包成静态或者动态库,提供出来一个头文件供自己或者团队使用。操作系统提供的系统调用、库函数等等,都是一些代码复用的结果。框架:通常实现一个完整的系统性的代码,比如说Java中的Spring Boot,函数:将常用的代码块封装成函数,提供自己或者团队使用。分层的好处:实现代码复用,软件层次结构清晰,易于维护。
2025-05-10 20:49:57
192
原创 [ Qt ] | 第一个Qt程序
我们打开Qt Create工具,左上角“文件”,新建文件。------------这个是我们的APP“走出国门”的时候,要关注的,这里就不说了。后面这两个直接默认,下一步就行~~。
2025-05-02 21:32:25
613
1
原创 [ Redis ] | 初识Redis
Redis官方对Redis的定义:开源的,在内存中存储,被数以百万计的开发者作为:数据库,缓存,流式引擎和消息中间件。... ...。
2025-04-06 11:20:32
586
1
原创 [ 3分钟算法 ] | 递归搜索题目 : 翻转链表(递归版)
返回一层,让这个节点的next节点的next指向这一层的节点,让这一层的节点的next指向nullptr。让当前节点后面的链表先逆置,并且把头节点返回。让当前节点添加到逆置后的链表后面即可。做一次后序遍历,找到叶子节点,
2025-04-06 10:45:29
415
原创 [ 算法题 ] 数组中两个字符串的最小距离
对着这种,在在一个字符串数组中找两个字符串的最小距离的题目,解法我们可以类比到其他相同类型的题目中。比如说:在整数数组中找两个整数的最小距离在字符串中找两个字符的最小距离。
2025-03-11 23:00:29
432
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅