- 博客(42)
- 收藏
- 关注
原创 Shell原理简介与Linux中的权限问题
本文首先简要介绍了shell是什么和shell的运行原理,然后就Linux中的权限问题展开描述:介绍了更换用户的指令su,提权指令sudo,接着描述了三种访问者:拥有者,所属组和other,最后提出了两种文件权限属性改变的方法
2025-02-10 10:10:39
493
原创 Linux中系统相关指令
本文着重介绍了Linux中系统相关的指令:date,cal,find,which,grep,zip和unzip,tar,bc,uname等并简述了时间戳,指令的本质,别名,ll和ls的区别,打印系统进程的方式等问题
2025-02-05 10:17:01
1027
原创 Linux中的基本指令(二)
本文介绍了Linux文件相关指令中的六个基本指令:mv,cat,more,less,head和tail,并介绍了输入重定向<,输出重定向>以及管道的概念
2025-02-03 09:30:51
844
原创 Linux中的基本指令(一)
本文主要介绍了Linux中的几个基本指令,包括ls,mkdir,touch,pwd,cd,rmdir,rm,man,cp以及其他的简单指令,如tree,nano,cat,ll等,同时补充了在Linux中书写并运行C语言程序的方法
2025-01-19 21:37:08
1095
原创 C++中的unordered_set和unordered_map的模拟实现
本文介绍了unordered_set和unordered_map模拟实现过程中的封装和细节问题,着重介绍了与map和set封装的不同之处与处理办法
2025-01-15 21:17:10
788
原创 C++中的unordered_set,unordered_map,哈希表/散列表以及哈希表的模拟实现
本节首先介绍了unordered_set和unordered_map,然后借此引出了哈希/散列和哈希表/散列表的概念;然后着重分析了哈希表这一数据结构,提到了哈希函数和哈希冲突处理方法这两个概念,再分别介绍了常用的哈希函数:直接定址法和除留余数法,常用的哈希冲突处理:闭散列开放定址法(线性探测,二次探测)和开散列哈希桶法,同时就如何支持多种类型的key来使用的问题,以string为例进行了详细分析
2025-01-11 22:45:48
1021
原创 C++中map和set的封装
本文主要通过对STL中map和set的的源码分析来理顺它们的封装逻辑,同时对rbtree进行了一些针对于map和set的功能拓展,完成了对一个可以正常插入的map和set的模拟实现
2025-01-05 20:46:18
994
原创 C++中的AVL树
本节对平衡二叉搜索树——AVL树进行了分析,其中插入的逻辑是主要内容,详细介绍了AVL树的旋转情况,还提到了调试可以用到的一些技巧
2024-12-18 17:34:28
668
原创 map和set题目练习
本节是map和set题目练习的思路汇总,包括随机链表的复制,循环链表的判断,前k个高频单词的截取,还对异地容灾备份的常识进行了普及
2024-12-17 17:30:30
501
原创 C++中的set和map
本节主要介绍C++的stl中的map,mutimap和set,multiset容器,介绍了序列式容器和关联式容器的概念,详细介绍了map中[]的逻辑与用途;同时介绍了键值对pair的概念,提到了结构化绑定配合pair书写代码的方式
2024-11-30 10:34:09
614
原创 C++实现二叉搜索树
本文介绍了二叉搜索树的概念以及实现一个简单的二叉搜索树的逻辑,然后对二叉搜索树部分特性进行了讨论,最后总结了一下搜索的方法,提出了key和key/value两种模型,并大致介绍了多组输入的底层部分原理
2024-11-22 11:30:40
561
原创 C++中的多态
本文介绍了C++中的多态,主要内容是动态多态,列出了虚函数重写的条件,并把重载,重写,重定义进行了对比,着重介绍了析构函数这一特殊的重写函数,简述了final和override关键字;之后讲述了纯虚函数是什么?抽象类是什么?虚表是什么?虚函数的存储原理以及动态绑定,静态绑定相关定义,最后介绍了多继承当中指针偏移这一现象
2024-11-15 14:33:20
1018
原创 C++中的继承——第二篇
本文介绍了继承部分的知识,包括友元与静态成员是否可以被继承的问题,多继承是什么,菱形继承是什么,以及菱形继承的解决方法虚继承,最后介绍了继承和组合的概念,并进行了对比,延伸简述了黑箱测试和白箱测试的观点用来比较has-a与is-a的关系
2024-11-04 20:43:19
966
原创 C++中的继承——第一篇
本文介绍了C++当中的继承,阐述了private继承时子类中不可见的问题,又介绍了赋值兼容转换相关事宜,复习了C语言中截断与提升的语法,同时提出隐藏(又名重定义)的相关问题,最后对子类中的六个默认成员函数的处理进行了介绍,特殊问题中提到了类不能被继承的关键字final与静态成员的继承问题
2024-11-02 16:03:04
682
原创 C++中模板的进一步理解
本文介绍了模板当中的非类型模板参数及其出现的原因,容器array,提到了在类外使用如iterator等可能含有歧义部分时typename辅助指定的问题,再介绍了模板的全特化,半特化以及半特化中的特殊存在:指针特化与引用特化,最后介绍了函数模板声明与定义的不建议分离的问题与类模板声明与定义分离的情况,并对模板的优缺点进行了总结
2024-10-31 21:31:05
752
1
原创 C++中的stack,queue,deque和priority_queue
本位简述了stack和queue逻辑的独特解决方案:适配器,初步了解了设计模式的概念,更深层次对比了面向过程和面向对象的区别,提出了C语言实现“伪封装”的方法;介绍了deque这一容器实现的底层逻辑,头插尾插和下标访问经历的过程;介绍了优先级队列(堆),简述了什么是仿函数,仿函数的作用以及特点
2024-10-26 18:45:04
1190
原创 C++中list的使用与实现
本文介绍了STL容器list的使用,简单介绍了unique,assign,splice等特殊功能,接下里介绍了list的模拟实现过程,详细讨论了迭代器类出现的原因,实现的过程,迭代器类中特殊的重载符号->,const迭代器类的出现原因与改善,++begin可以运行通过的原因,std中迭代器与实现区别的大致介绍,传数组指针来构造的兼容原理等
2024-10-26 11:06:36
1119
原创 浅谈计算机存储体系和CPU缓存命中
本文简述了计算机存储的分层,链表和顺序表优缺点中CPU快速缓存的知识,理清内存,缓存,硬盘,寄存器,CPU的关系
2024-10-22 22:42:00
316
原创 C++中的vector使用与实现
本文介绍了vector使用和实现的问题,包括string可不可以放到模板里,vector的vector可不可以,reverse中的深浅拷贝,强制生成默认构造函数,string的范围for传参,sort的降序排法,迭代器失效问题,vector的find问题,initializer_list是什么
2024-10-19 17:28:37
670
2
原创 C++中的内存管理和模板初识
本文对C++中的new与delete这两个新增的资源管理操作进行了分析,初步介绍了函数模板与类模板的概念以及简单用法,还有定位new表达式相关介绍
2024-09-10 19:49:01
957
原创 C++中的类和对象——第四篇
本位介绍了类和对象中的初始化列表,内置类型赋值给类类型的隐式类型转换过程,静态成员变量,静态成员函数的情况,又补充了一些小知识点如友元类,内部类,匿名对象,编译器自动优化等等
2024-09-10 13:48:34
752
原创 C++中的类和对象——第三篇
本文介绍到了C++剩下的3个默认成员函数:赋值重载,取地址以及const取地址运算符重载函数;也介绍了运算符的重载,cout的深度解析,友元函数简介,const作用于成员函数等内容
2024-08-31 22:50:45
778
原创 C++中的内联函数,auto,范围for以及nullptr
本文主要介绍了C++中的内联函数,auto,范围for以及nullptr,同时对C语言中的宏,typedef进行了复习。
2024-07-07 17:39:39
985
原创 C++的函数重载和引用类型
本文介绍了C++中的函数重载和引用类型,并对为什么C++支持函数重载而C不支持的问题以及引用和指针类型在const修饰下权限变更问题进行了深入剖析
2024-07-05 22:47:00
811
原创 C++的命名空间、输入输出以及缺省参数
文章介绍了C++中的命名空间,对iostream的初步理解,对C++输入输出的简介,以及对缺省参数也就是默认参数的分类
2024-07-03 20:55:59
510
原创 C语言中的结构体
在C语言中,我们常常需要使用结构体将多种不同类型的元素包装起来,本文讲述了结构体是什么,应该如何创建和声明结构体变量,如何初始化,以及结构体在内存中的存储规则
2023-12-12 21:48:36
73
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人