- 博客(20)
- 收藏
- 关注
原创 【Linux】三分钟了解信号是如何被捕捉的?
如果捕捉到信号后,自定义了该信号处理函数(SIGKILL和SIGSTOP除外,这两类信号处理方式无法被自定义),系统会先回到用户态,进而直接去调用自定义的信号处理函数。之后,系统将再次回到内核态,最后再从内核态转变到用户态回到之前中断的执行流。总结只有一句话,信号的捕捉就是从内核态转到用户态这一过程中进行,返回用户态时顺带检查是否有未处理的信号,如果有,则调用相应的函数处理,之后将回到用户态。
2024-01-25 15:06:00
390
原创 【C++】模拟实现map和set
本文将简单模拟实现map和set,其中包括基本的增删查改以及容器迭代器最基本的使用,主要的内容是对二者的底层——红黑树的实现与改装
2023-10-24 21:02:20
95
原创 【C++】红黑树原理与插入实现(附图解与源码)
本文面向群体为刚接触红黑树的初学者群体,文章中构建的红黑树并不与STL中一致(因为对于初学者而言有很多点一下子解释不清),使用了较为简洁明了的方式解释红黑树的基本原理,方便各位萌新更好学习和理解。
2023-09-16 21:40:05
147
原创 【C++】模拟实现二叉搜索树(附源码、测试用例)
二叉搜索树,和普通的二叉树不同,它除了拥有链表的快速插入的功能,也拥有比肩数组般快速查找的能力。本文主要模拟实现二叉搜索树的增添、删除、查找以及遍历的功能,编译器环境为VS2019。
2023-08-02 20:49:06
58
原创 【C++】简单模拟实现list
本文将通过模拟实现c++中的list模板中一些常用的函数功能,具体包含push_back,pop_back等常用函数的模拟,但并不考虑到所有的成员函数,仅通过模拟以达到学习的目的。本文共四部分,一部分用来构建list,了解其底层实现原理;第二部分是自己构建迭代器,也是本文的重点和难点,涉及到封装和模板类的问题;第三部分则是一切就绪后对具体功能的实现;最后一部分则为源码的分享(编译器环境为VS2019)。
2023-07-19 21:12:56
78
原创 【C++】简单模拟实现vector模板
本文将通过模拟实现c++中的vector模板中一些常用的函数功能,具体包含push_back,reserve等函数的模拟,但并不考虑到所有的情况,因此并没有过多的函数重载。本文共两部分,一部分用来实现vector,头文件命名vector.h,另一部分则为源码实现部分(编译器环境为VS2019)。各个函数的返回值类型和参数类型均与库中的vector一样。
2023-07-18 21:17:16
317
原创 【C++】简单模拟实现string模板
本文将通过模拟实现c++中的string模板中一些常用的函数功能,具体包含push_back,reserve等函数的模拟,但并不考虑到所有的情况,因此并没有过多的函数重载(因为string的重载实在是太多了...)本文共两部分,一部分用来实现string,头文件命名string.h,另一部分则为源码实现部分(编译器环境为VS2019)。各个函数的返回值类型和参数类型均与库中的string一样。
2023-07-11 21:43:30
150
原创 (超详细!)【C语言】单链表的增删查改(附图解,源码)
本文为我对链表学习的过程与理解,适合新手学习交流。内容如题,我将结合画图和截图带领大家更好的理解单链表结构,学习和使用它增删查改的功能!
2023-03-04 18:01:13
1633
原创 【C语言】通讯录管理系统(附图解、源码)
本文讲通过c语言实现通讯录的功能,具体功能为1.添加、2.删除、3.查找、4.修改、5.浏览、6.清空、7.排序以及最后的0.退出通讯录功能。
2023-01-20 18:09:13
17003
14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人