- 博客(54)
- 收藏
- 关注
原创 命令行参数和环境变量
-” (登录位):标定血缘与初衷。代表它是从磁盘读取配置、初始化环境的“创世进程”。“+” (前台组):标定权力与交互。代表它拥有当前 TTY 终端的控制权,是直接吞吐用户指令的代理。[408 考研划重点]理解环境变量的继承性是掌握fork()与exec()系统调用的前提。子进程继承的是父进程环境变量的副本(基于写时复制技术),这种设计保证了进程间环境的相对隔离与安全性。>>> [ 进入个人主页 ] <<<MODULE_01《C++ 学习》MODULE_02《Linux 学习》
2026-01-05 20:57:41
740
原创 linux——进程调度(时间片+优先级轮转调度算法O(1))
进程得到某种资源的先后顺序就叫做优先级优先级和权限的区别?优先级是进程得到某种资源的先后顺序,权限是进程能不能得到某种资源。
2025-12-21 10:07:31
982
原创 linux——进程
进程得概念进程=程序本身得代码和数据+操作系统内核对应的数据结构进程可以是正在被执行的程序、可以是被加载到内存里的程序但是进程统一特点是运行的程序。
2025-12-18 12:37:05
838
1
原创 linux——操作系统
先对操作系统有一个宏观的理解,我们笔记本平时的可视化界面就是操作系统的组成部分。 没有操作系统计算机无法正常工作。那么操作系统究竟是什么它的结构又是什么样的?下面我们来进行探究。
2025-12-09 20:41:29
1143
原创 linux——冯诺依曼体系结构
本章内容重新让我对计算机有了一个新的认识,计算机到底如何组成的。CPU又扮演者什么样的角色。寄存器存在的意义和价值。以及网卡——一个特殊的外设设备。 对于这些有了一个系统性的概念。关于对计算机组成的进一步深入了解 请见操作系统部分!本章学完之后 必须要搞懂的是CPU不和外设打交道。 并且明白其原因。
2025-12-09 19:59:56
638
原创 linux——make/Makefile自动化工程构建
make是一个指令、makefile是一个文件,它的功能是用来描述如何编译当前工程。要想使用make必须要满足再当前目录下存在makefile文件例如这是我的makefile文件这是我的自动化项目。
2025-12-07 16:58:48
719
1
原创 linux——git实现在本地提交代码
原代码代码含义git clone 地址克隆远程仓库git config --global user.name “全局用户用户名”修改全局用户用户名git config --global user.email “全局用户邮箱”修改全局用户邮箱git add .将文件加入缓存区git commit -m “注释”将本地缓存区内容提交到本地仓库将本地仓库代码提交到远程仓库原代码代码含义查看本地用户对远程仓库权限查看本地仓库配置项git branch查看本地仓库分支。
2025-12-07 16:04:12
633
原创 linux——编译器(代码的底层逻辑)
❀保持低旋律节奏->着重去理解 1.汇编这个过程、 为什么存在汇编、汇编语言是什么、汇编主要是用来干什么的(结合计算机历史背景)2.理解 代码和编译器自举过程、是什么样的3.动态库、静态库、动态链接、静态链接是怎么一回事。
2025-12-03 17:49:56
582
原创 linux——软件包、yum 安装和卸载
❀保持低旋律节奏->本章命令是小时,着重需要理解的是下面总结的4个点1.yum能够安装软件,yum安装软件是在云服务器上安装,云服务器上有人会提供免费的文件。2.yum、apt 这两个都是linux系统的包管理器。它对应的是客户端——不同的linux系统,与客户端对应的就是服务器3.yum、apt 下载的时候 一定有它所对应的配置资源、配置文件、配置文件里面就有相应的链接。4.我们文件里的链接 默认是连接到国外的。云服务器在国内,国内云服务器通过拷贝国外网站,形成了镜像网站。
2025-12-02 10:43:14
664
原创 C++——异常
❀保持低旋律节奏->这里先说明一下、异常再大型项目中才会有使用的必要。例如。我们进行再微信里面,你是管理员,需要移除一个人,如果移除的是群主,那么就会触发异常、弹出一个窗口权限不足。如果是普通的就会移除成功。网线不好,那么移除的时候可能回弹出窗口 网络不稳定。这时候弹出的窗口就有一个很好的提示作用。这里核心就是异常在进行。
2025-11-27 15:03:34
913
原创 C++——C++11特性
{}小总结如果有initializer_list构造和隐式构造,会优先匹配initializer_list构造对于普通类型、是普通构造。对于容器 是initializer_list构造对于结构体、无initializer_list构造的类啥的。大概就属于多惨隐式类型转换左值和右值的区别左值可以取地址、右值不可以取地址//下列b p s 都可以再次取地址 他们都是左值int b;int* p;//左值 s是左值//下面这些都是右值 无法取地址int x{ 0 };int y{0};
2025-11-25 11:18:59
593
原创 算法——冗余!哈希表、vector、string适配器的混合使用
❀保持低旋律节奏->本章讲解三个小题,重点在于 unordered_map的使用,其涉及到底层适配器的混合使用,通过练习这三道题对于vecotr、string、hash、适配器是一个非常不错的锻炼方式。
2025-11-20 10:38:57
265
原创 C++——unordered_map和unordered_set自实现
unordered_set官方文档unordered_set的声明如下,Key就是unordered_set底层关键字的类型unordered_set默认要求Key⽀持转换为整形,如果不⽀持或者想按⾃⼰的需求⾛可以⾃⾏实现⽀持将Key转成整形的仿函数传给第⼆个模板参数unordered_set默认要求Key⽀持⽐较相等,如果不⽀持或者想按⾃⼰的需求⾛可以⾃⾏实现⽀持将Key⽐较相等的仿函数传给第三个模板参数。
2025-11-19 14:10:41
882
1
原创 C++——RBTree红黑树、avl的兄弟、二叉树的再度升级。探究set、map底层的重点掌握部分。
红黑树相比于avl树红黑树是一颗二叉搜索树相比于我们前章学的avl平衡搜索二叉树来说,红黑树没有了平衡因子_bf,但是多了一个存储位,这个存储位用来表示节点的颜色。红黑树相比于avl树,红黑树确保没有一条路径比其他路径长出2倍,因此红黑树是接近平衡的。
2025-11-13 17:41:44
698
2
原创 avl树——理解旋转的核心要点
avl树简单介绍1.avl树也叫平衡搜索二叉树2.平衡要求左右子树的高度差的绝对值<=1。3.avl树无法实现高度差为0;因为当树的节点为偶数时,它的子树几点必然是奇数,那高度差必然是1.无法做到高度差为0;平衡因子avl树引入一个新的概念——平衡因子,每个节点都有平衡因子。平很因子==右子树的高度-左子树的高度。在avl树中平衡因子不是必须的,但是有了平衡因子,可以更方便的去控制树。avl树的效率avl树高度可以公职在logN,效率也可以控制在O(logN),相比二叉搜索树有了本质的提升。
2025-11-12 11:44:30
747
1
原创 C++——仿函数
一、重载operator()//用class定义public:二、创建仿函数对象Mygreater())这里是创建仿函数对象,无论是类还是struct都需要经过创建仿函数对象类/结构体模板打印return 0;
2025-11-02 11:51:25
391
原创 linux——有关权限的话题。——权限掩码——默认文件权限的理解/文件共享、粘滞位
这里举一个例子方便理解家目录就好比我家,权限就好比邻居的行为,文件就好比洗衣机有一天邻居把一堆脏衣服扔到了我家的洗衣机。邻居不让你动它的脏衣服,你没有对脏衣服的任何权限。但是你一怒之下直接把它的脏衣服从自己家的洗衣机里扔了出去。为什么?因为这是自己的家。仍衣服、删除权限不需要看邻居赋予你什么权限。而是得看这是谁得家。
2025-11-02 09:51:57
812
1
原创 C++——二叉搜索树——数据结构进阶——附加超详细解析过程/代码实现
⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树:• 若它的左⼦树不为空,则左⼦树上所有结点的值都⼩于等于根结点的值• 若它的右⼦树不为空,则右⼦树上所有结点的值都⼤于等于根结点的值• 它的左右⼦树也分别为⼆叉搜索树• ⼆叉搜索树中可以⽀持插⼊相等的值,也可以不⽀持插⼊相等的值,具体看使⽤场景定义,后续我们学习map/set/multimap/multiset系列容器底层就是⼆叉搜索树,其中map/set不⽀持插⼊相等。
2025-10-28 18:01:43
709
2
原创 C++——多态实现原理——虚表
• 基类对象的虚函数表中存放基类所有虚函数的地址。同类型的对象共⽤同⼀张虚表,不同类型的对象各⾃有独⽴的虚表,所以基类和派⽣类有各⾃独⽴的虚表。• 派⽣类由两部分构成,继承下来的基类和⾃⼰的成员,⼀般情况下,继承下来的基类中有虚函数表指针,⾃⼰就不会再⽣成虚函数表指针。但是要注意的这⾥继承下来的基类部分虚函数表指针和基类对象的虚函数表指针不是同⼀个,就像基类对象的成员和派⽣类对象中的基类对象成员也独⽴的。总结为:重写之后地址改变,单是继承基类virtual函数地址不变•。
2025-10-28 11:05:47
761
1
原创 C++模板进阶
4.数组只能传递指针 在一定程度上效率太低。而且传入指针后就不能使用范围for。2.array作为一个封装对象,其函数(size等)都可以直接使用。1.array可以作为一个对象传递,传递时候非常方便。如果传参的时候更匹配特化模板,那么调用特化模板函数。3.array对于数组越界的检查比数组的检查更优。如果没有特化模板,那就调用模板函数。针对于某些类型的特殊化处理。静态数组相比于数组的优势。静态数组是不会初始化的。
2025-10-24 19:16:23
316
原创 C++——多态——应试重点
多态分为静多态和动多态。静态多态也叫做编译时多态,像之前的函数重载、函数模板就是静多态。之所以叫静多态是因为实参传给形参的这个过程在编译的时候就已经完成。静多态通过传递不同的参数就可以调用不同的函数。ex:我传入一只猫就会构造猫叫的函数,但不会输出喵喵喵,传入一只狗就会构造狗叫的函数,但不会输出汪汪汪。动多态主要是为了完成某个函数行为,传入不同的对象就会完成不同的行为。ex:函数为叫声,我传入一个猫就是喵喵喵,我传入一个狗就是汪汪汪。
2025-10-24 19:15:13
762
4
原创 C++——继承
一些公共的特性抽取出来放到一个公共的类,然后由子类继承。这就叫继承。继承里的两个类基类(又称父类)派生类(又称子类)继承的书写方式在派生类调用基类的成员函数或者成员变量的时候,是需要加上类域的。//Student 要继承Person用代码的角度去理解public:protected://在类域内可以互相访问,对外界无法访问private:int _age;
2025-10-22 10:54:06
564
2
原创 C++——list链表
list链表介绍、以及各种库函数的使用。重点了解list与前面vector、string的区别 了解什么场景下适合选择哪种容器。
2025-10-19 17:21:51
1082
2
原创 C++ stack、queue栈和队列的使用——附加算法题
官方文档❀stack介绍queue官方文档❀queue介绍队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少支持以下操作:empty:检测队列是否为空size:返回队列中有效元素的个数。
2025-10-17 20:31:05
857
1
原创 C++——vector容器、动态容器
vector定义、vector底层实现、迭代器失效避免大坑、失效pos左值和右值、匿名对象使用场景、缺省值、范围for的全部适用范围、{}的隐式类型转换
2025-10-14 20:16:07
654
原创 linux——基础指令——中
linux基础指令,了解linux下一切皆为文件的含义,在后续学习过程中掌握linux 查询指令,grep过滤筛选指令。并重点掌握管道,重定义的使用和原理。了解偏向实际化的压缩指令时间戳,任务管理器。
2025-10-13 11:12:53
1087
原创 C++——OJ试题,string、vector、类(题三)初步应用
ex:一个特例:如果在getline前使用了cin >> x(比如cin >> a;strlen(s)计算的是 const char* str 中 str/0前面字符的个数,而cin>>s中的s,并不是const char* 类型 因此不可以联用。getline 可以识别’ ’ 但是流插入流提取,和C语言中的scanf是不会识别’ '的,遇到‘ ’就认为已经结束了!2.遇到\n会结束,但是如果不手动输入\n 他是不会再字符串中自动留一个\n的。strlen 不能和 cin>>s 中的s联用。
2025-09-30 22:05:28
596
原创 C++ string底层实现逻辑(与类知识点结合)string——下
string库 各种底层实现基本逻辑,与类知识点相结合。重点学会 类的用法,类与string底层逻辑结合用法。了解string底层实现过程中可能出现的各种问题。学会自行解决。
2025-09-28 16:24:16
677
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅