2.20学习

摘要: 1、为什么map和set不能像vector一样提取reserve 首先vector是连续的内存,map和set是红黑树,是分配的节点,而节点内存是不连续的,除此之外,vector提取reserve是防止之后的扩容问题影响性能 2、map,set,mutimap,mutiset是红黑树,不过muti- 阅读全文
posted @ 2026-02-20 23:22 dd_l 阅读(10) 评论(0) 推荐(0)

linux学习第一天

摘要: 1、linux中文件都是放在/下,linux下的目录 bin--放置二进制指令 boot--内核文件 dev--设备文件 etc--系统配置文件目录 lib--库目录 tmp--临时文件目录 proc--存放一些放于内存的文件,不占用磁盘 var--放置系统经常改变的文件(日志) 2、常用命令: r 阅读全文
posted @ 2026-02-19 22:03 dd_l 阅读(11) 评论(0) 推荐(0)

如何在vs中使用Qt

摘要: 首先Qt有2个编译器,一个是MinGW,这个是Qt专用的,另一个是mscv,这个是专门针对vs的,所以下载Qt的时候要把这两个都下载下来,推荐64位 然后有了Qt后就下载vs,目前vs2026是不支持操纵qt的,建议下vs2022 当下好了vs2022后,点击扩展->扩展管理,搜索qt,然后下载Qt 阅读全文
posted @ 2026-02-19 17:05 dd_l 阅读(106) 评论(0) 推荐(0)

2.18学习

摘要: 1、deque的底层是map中控器+分段缓存区,map中控器类似于一个指针数组,其中每个指针元素都指向一块缓存区 能使用vector就不要使用deque,因为deque的迭代器比vector复杂 2、vector的分配空间只能增加不能自动减少,如果动态减少可以使用deque 如何减少vector的内 阅读全文
posted @ 2026-02-18 19:14 dd_l 阅读(7) 评论(0) 推荐(0)

vcpkg的配置

摘要: 我们在做项目时,不管多小的,几乎都避免不了要配置库,而平时配置库又是非常麻烦,常规步骤就是:1、从github上找到对应的库,下载下来 2、运行脚本文件 3、然后进入vs对库进行编译,生成对应的lib、dll文件(期间一定有很多报错) 4、把生成的.lib、.dll以及对应的头文件都放到我们需要的项 阅读全文
posted @ 2026-02-17 22:55 dd_l 阅读(115) 评论(0) 推荐(0)

2.11学习

摘要: 1、STL的hashtable的本质是一个vector的哈希桶,桶的数量一直是质数,当需要扩容的时候就还是质数,每个哈希桶中都储存着一个双向链表,这样,如果有两个不同的元素通过哈希函数得到同一个哈希桶的值,那么这两个元素就储存在双向链表中,这样做是为了防止哈希冲突 如果桶中的链表长度超过了预定的阈值 阅读全文
posted @ 2026-02-12 00:22 dd_l 阅读(11) 评论(0) 推荐(0)

2.10学习

摘要: 1、vector,deque由于是内存连续,所以查找效率高,但是如果插入删除的话涉及到内存的移动,故效率比较低O(N),list的插入较简单,查找较复杂,而map,set底层是红黑树,效率比较稳定O(logn) 2、对于vector,deque进行删除元素时,迭代器会失效(因为涉及到内存移动),所以 阅读全文
posted @ 2026-02-10 23:31 dd_l 阅读(11) 评论(0) 推荐(0)

2.9学习

摘要: 1、unorder_map是通过哈希表实现,相对map通过红黑树实现,unorder_map查找的效率更高,但是如果好多键值通过哈希函数得到的都是一个值(极端情况),那查找效率就会降低 unorder_map和unorder_set本质上相同,都是哈希表实现,不过unorder_set中key就是v 阅读全文
posted @ 2026-02-09 14:12 dd_l 阅读(7) 评论(0) 推荐(0)

2.8学习

摘要: 1、map和set底层都是红黑树,对于平衡二叉树和红黑树而言 平衡二叉树和红黑数都是防止出现"树一直添加左孩子或有右孩子变成链表的情况",在插入时可以进行左旋右旋变的更加均衡,二者中平衡二叉树的查找效率最高(因为左右子树的高度差距不超过1),但是插入效率较低(要不断左右旋),而对于红黑树,最长的路径 阅读全文
posted @ 2026-02-09 00:40 dd_l 阅读(3) 评论(0) 推荐(0)

modbus学习第6天

摘要: 继续之前用Qt做的那个代替主站对从站的4大寄存器写入读取的程序,我总共封装了两个类,一个是ModbusPro(只是用来管理ui),一个是ModbusMaster(用来连接从站,写入,读取数据) 本来我是想着用多线程,主线程更新ui,子线程用来连接从站,然后后面越改bug越多,经常出现野指针的问题,我 阅读全文
posted @ 2026-02-08 10:49 dd_l 阅读(9) 评论(0) 推荐(0)