- 博客(96)
- 收藏
- 关注
原创 【C++11】智能指针
unique_ptr:唯一指针,类内部禁用拷贝构造和赋值运算符重载;shared_ptr:共享指针,采用计数的方式,计数器为零自动析构资源,死穴:循环引用weak_ptr:解决shared_ptr循环引用问题,本身不参与资源的管理,不对资源计数
2023-04-22 21:51:56
516
17
原创 【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
2023-04-11 09:03:53
2783
190
原创 【C++11】左值引用和右值引用
右值引用通过移动构造和移动赋值,解决了左值引用值返回多次构造的消耗。同时插入右值场景,调用移动构造,减少拷贝,提高性能。
2023-04-06 23:55:53
850
229
原创 Linux宝塔面板搭建Discuz论坛, 并公网远程访问【内网穿透】
Linux宝塔面板搭建Discuz论坛, 并公网远程访问【内网穿透】
2023-03-23 08:11:29
3025
31
原创 【数据结构】手撕红黑树
红黑树和AVL树一样,因其逻辑复杂,面试时现场要求手撕就是纯纯刁难面试者。但某大厂面试官曾要求某些求职者现场手撕红黑树(我赌5毛,让面试官撕,他也撕不出来,而且你家员工上班手搓红黑树啊?),随后求职遭遇被发到网上吐槽,这便有了“手撕红黑树”的梗,也让红黑树成为了知名度最高的数据结构。(话虽如此,对于红黑树的性质、插入思想等概念还是需要掌握的)
2023-02-26 03:28:40
7328
34
原创 【数据结构】二叉搜索树的实现
递归删除:找到节点后,同样需要分三种情况讨论。1、被删除节点左树为空;2、被删除节点左树不为空但右树为空;3、被删除节点左右子树均不为空。
2023-01-23 18:29:24
1334
17
原创 【51单片机】AT24C02存储器(I²C总线)/DS18B20温度传感器(单总线)
AT24C02存储器(IIC协议)+DS13B20温度传感器(单总线)
2023-01-02 22:34:26
1031
30
原创 【Linux】缓冲区/磁盘inode/动静态库制作
用户级缓冲区存在于FILE结构体中,显示器行缓冲,磁盘全缓冲。内核缓冲区刷新策略由操作系统根据内存等情况自行控制。文件系统inode存放文件属性,Data block存放文件数据。根据inode编号查找文件,inode结构体中有block[15]数据块数组,前12个空间指向数据块,后三个是三级数据块索引。静态库:ar -rc对多个.o进行打包。编译使用时只需指明头文件和库函数的路径和静态库名称。动态库:-shared生成.o文件,gcc -fPIC。使用动态库需指明运行时库路径。
2022-12-24 01:45:26
1678
62
原创 【51单片机】DS1302时钟/蜂鸣器
DS1302时钟:在时钟的上升沿向时钟写入数据,下降沿从时钟读出数据。跳变有效。从低位到高位读取数据,先读命令字确定时钟是写入还是读出、写在哪里,去哪里读。DS1302内部存储的是BCD码,使用时需要转换为其他进制。蜂鸣器:分为有源无源,通过放大电路实现驱动,根据每次电平转变的时间间隔的不同,就能发出不同音色的声音。
2022-12-17 22:30:53
798
17
原创 【51单片机】串口通信/LED点阵
串口通信:UART通信协议配置单片机串口相关寄存器。本文串口使用模式一(8位UART,波特率可变);定时器使用定时器1+8位自动重装模式。串行控制(模式选择)寄存器SCON、串行口数据缓冲寄存器SBUF、电源控制(波特率配置)寄存器PCON、串行口中断相关寄存器IE、IPH、IP注意用的时候需要关闭定时器中断,当TI或RI等于1时,进入4号中断。LED点阵:SER:数据入口;SECLK:给高电平,放一个比特位数据进去;RCLK:给高电平,将数据传给引脚。
2022-12-12 23:04:55
809
27
原创 【51单片机】矩阵键盘/定时器
矩阵键盘一侧IO口为输入,另一侧为输出。定时器TMOD为模式选择寄存器,TCON为中断控制寄存器。TH0和TL0代表T0定时器存储数据的高低8位,用于系统时钟的脉冲计数。(TH0和TL0中断后由硬件置0)数据溢出,发送中断请求,CPU执行中断函数后再回到主函数。例如设定每经过1毫秒进入中断,对中断次数计数,当中断次数达到1000次,即1秒时,控制单片机某个模块运行。
2022-12-09 23:12:20
1108
19
原创 【C++】模拟实现STL容器:list
list的普通迭代器通过类进行封装+运算符重载实现。list的const通过类模板实现。operator*返回节点的数据。operator->返回节点数据的指针。
2022-12-06 00:58:52
1186
22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人