- 博客(70)
- 收藏
- 关注
原创 【Linux】makefile、进度条实现
我们今天给大家讲解一下Linux中的另外一个重要工具-Linux项目自动化构建工具Makefike的使用。由于使用命令编译链接文件比较繁琐,如果文件一多,那么一个一个处理将要耗费大量的时间。那么,在Linux中开发有什么方法解决这个问题呢?带着这个疑惑我们来开启这一篇文章的学习吧~
2025-01-30 01:40:34
1362
原创 【Linux】Linux编译器-g++、gcc、动静态库
预处理功能主要包括宏定义、文件包含、条件编译、去注释等。 预处理指令是以#号开头的代码行。 gcc –E hello.c –o hello.i 选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。 选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。
2025-01-25 13:37:35
1448
原创 【Linux】Linux重要工具
在Linux系统中,yum和vim是两个非常重要的工具。yum用于软件包管理,提供了便捷的软件包安装、更新和删除等操作;而vim则是一款功能强大的文本编辑器,支持多种编辑模式和插件,是Linux系统中进行文本编辑的首选工具之一。大家看完这篇文章就会清楚明白了。
2025-01-21 17:17:41
1099
原创 【Linux】Linux权限理解
Linux粘滞位(Sticky Bit)是一种特殊的文件权限位,主要用于控制目录中的文件删除和重命名操作。通过合理设置和使用粘滞位,可以提高系统的安全性和用户体验。
2025-01-11 17:23:24
812
原创 【Linux】Linux的基本命令(2)
我们从这一篇文章开始,将继续更新Linux的相关知识。当然,之前咱们更新过一次linux的内容,再C++之间,大家如果忘记了可以去看看哦,大家也可以参考我的博客一起学习哦~
2024-12-10 21:41:27
1543
原创 【C++】智能指针的使用和原理
智能指针类除了满足RAII的设计思路,还要方便资源的访问,所以智能指针类还会想迭代器类一样,重载operator*/operator->/operator[]等运算符,方便访问资源。
2024-12-03 14:53:13
1362
4
原创 【C++】异常
异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理,异常使得我们能够将问题的检测与解决问题的过程分开,程序的一部分负责检测问题的出现,然后解决问题的任务传递给程序的另一部分,检测环节无须知道问题的处理模块的所有细节。
2024-11-29 23:06:22
970
3
原创 【C++】C++11引入的新特性(2)
C++11作为C++语言的一个重要版本,引入了许多新特性和改进。1. C++11以后,进一步对类型进行了划分,右值被划分纯右值(pure value,简称prvalue)和将亡值(expiring value,简称xvalue)。
2024-11-28 00:25:53
1198
2
原创 【C++】C++11引入的新特性(1)
C++11 是 C++ 的第二个主要版本,并且是从 C++98 起的最重要更新。它引入了大量更改,标准化了既有实践,并改进了对C++程序员可用的抽象。在它最终由ISO在2011年 8月12日采纳前,人们曾使用名称“C++0x”,因为它曾被期待在 2010 年之前发布。C++03 与 C++11 期间花了 8 年时间,故而这是迄今为止最长的版本间隔。从那时起,C++ 有规律地每3年更新一次。
2024-11-23 16:29:35
1282
5
原创 【C++】哈希表实现
哈希(hash)又称散列,是一种组织数据的方式。从译名来看,有散乱排列的意思。本质就是通过哈希函数把关键字Key跟存储位置建立一个映射关系,查找时通过这个哈希函数计算出Key存储的位置,进行快速查找。
2024-11-18 11:46:31
1261
6
原创 【C++】unordered_map和unordered_set的使用
1. unordered_set的声明如下,Key就是unordered_set底层关键字的类型。2.unordered_set默认要求Key支持转换为整形,如果不支持或者想按自己的需求走可以自行实现支持将Key转成整形的仿函数传给第二个模板参数。3.unordered_set默认要求Key支持比较相等,如果不支持或者想按自己的需求走可以自行实现支持将Key比较相等的仿函数传给第三个模板参数。4. unordered_set底层存储数据的内存是从空间配置器申请的,如果需要可以。
2024-11-08 14:25:21
659
原创 【C++】封装红黑树实现mymap和myset
我们上次给大家讲解了红黑树,我们今天就利用红黑树来封装一下map和set,再来模拟实现一下吧。建议大家先将红黑树学好,它是map和set的底层。如果大家准备好了,那就接着往下看吧~
2024-11-07 14:50:35
1357
2
转载 【C++】红黑树实现
红黑树是一棵二叉搜索树,他的每个结点增加一个存储位来表示结点的颜色,可以是红色或者黑色。通过对任何一条从根到叶子的路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是接近平衡的。
2024-11-02 17:29:37
1301
原创 【C++】AVL树实现
AVL树是最先发明的自平衡二叉查找树,AVL是一颗空树,或者具备下列性质的二叉搜索树:它的左右子树都是AVL树,且左右子树的高度差的绝对值不超过1。AVL树是一颗高度平衡搜索二叉树,通过控制高度差去控制平衡
2024-10-29 16:43:33
1295
3
原创 【C++】map和set的使用
我们之前给大家讲解过搜索二叉树的内容,我们今天给大家讲解map和set的使用。map和set的底层容器是红黑树,也是搜索二叉树,如果大家准备好了,那就接着往下看吧~
2024-10-25 14:28:01
1316
4
原创 【C++】二叉搜索树
二叉搜索树(Binary Search Tree,简称BST)是一种特殊的二叉树,在C++中得到了广泛的应用。这种数据结构遵循特定的性质,使得查找、插入和删除操作更加高效。
2024-10-19 20:00:57
931
原创 【C++】面向对象之多态
多态(polymorphism)的概念:通俗来说,就是多种形态。多态分为编译时多态(静态多态)和运行时多态(动态多态),这里我们重点讲运行时多态。编译时多态(静态多态)主要就是我们前面讲的函数重载和函数模板,他们传不同类型的参数就可以调用不同的函数,通过参数不同达到多种形态,之所以叫编译时多态,是因为他们实参传给形参的参数匹配是在编译时完成的,我们把编译时一般归为静态,运行时归为动态。
2024-10-16 23:09:05
1323
1
原创 【C++】面向对象之继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。
2024-10-09 22:26:13
1264
2
原创 【C++】模板进阶
继之前我们讲解了的模板初阶,进而我们继续学习模板的进阶部分,如果忘记了的话可以看我之前的博客及时复习,大家一起来学习吧~
2024-09-24 21:15:27
1480
6
原创 【Linux】Linux的基本指令(1)
我们从这一篇文章开始,将持续更新Linux的相关知识。当然,C++的知识没有结束,接下来会同时更新C++和Linux,大家也可以参考我的博客一起学习哦~
2024-09-18 14:01:39
1663
4
原创 【C++】_stack和_queue容器适配器、_deque
stack和queue是依靠别的容器实现的,我们称之为容器适配器,我们将详细介绍容器适配器的细节,以及为什么选择deque作为stack和queue的底层容器。如果你也想了解,就一起来学习吧~
2024-09-13 11:52:48
1563
5
原创 【C++】_list常用方法解析及模拟实现
学习了string和vector,我们现在来学习list。它和string与vector不一样的地方就是它在物理上不是连续的,所以迭代器部分是要更加复杂的。
2024-09-09 12:19:26
1084
2
原创 【C++】_vector定义、_vector常用方法解析
学习完了string类,对于vector的学习就显得简单多了。他们的本质都是物理数组,很多的操作也是非常类似的~
2024-09-02 14:06:19
2853
8
原创 【C++】_string类字符串万字详细解析
我们今天简单给大家讲解一下C++标准库中一个非常重要的组成部分——string字符串。如果大家准备好了,那就一起来看看吧~
2024-08-24 20:22:46
2064
4
原创 【C++】STL简介
本节介绍了C++中STL的相关知识,在后面将会逐一讲解它的组件和应用。希望大家能够认真学习,打好基础,迎接接下来的挑战,期待大家继续捧场~
2024-08-18 21:38:59
1734
2
原创 【C++】动态内存分配
C语言为 动态内存管理提供了 四个函数malloc、calloc、realloc、free。而C++,由于增添了许多特性,即使依旧可以延用C语言的动态管理,但是总有无法处理的地方 所以 C++ 又提供了两个新的动态管理的关键词 new 和 delete
2024-08-15 14:45:19
1230
1
原创 【C++】深入理解类和对象(2)
接着上一章节,我们继续学习C++中类和对象的相关知识。这一章节非常重要,大家一定要先学习完上一章节的内容,再认真学习这一章节。
2024-08-10 17:43:50
926
4
原创 【C++】深入理解类和对象(1)
从这一篇章开始,我们不如C++学习中的第一大关—类和对象。这里的内容多而杂,所以我们分为三节进行逐步分析。
2024-08-05 22:28:20
1100
4
原创 【C++】入门基础知识
结束了初阶数据结构的学习,从这一篇章开始,我们开始学习C++的相关知识。在此之前,我们要先了解C++的历史发展和并且学习基础语法。
2024-08-02 19:40:03
2314
2
原创 【数据结构】排序算法(快速排序、归并排序、排序算法总结)
这一章节我们继续讲解排序的剩下部分,也是两个比较复杂的排序—快速排序和归并排序,希望大家认真学习,理解透彻~
2024-07-30 10:13:08
1453
7
原创 【数据结构】排序算法(冒泡排序、插入排序、希尔排序、选择排序、堆排序、计数排序)
排序作为数据结构的一大重要部分,知识点多,理解的也偏多,代码也多,让大家学习起来比较困难。由此,我将以详尽的语言给大家尽量清晰地讲解,希望可以给大家带来帮助
2024-07-26 14:35:47
1463
6
原创 LeetCode/NowCoder-二叉树OJ练习
数据结构的学习离不开刷题,题刷的够多才能有题感,才能有把握,这个系列专门更新数据结构相关的习题、面试题,欢迎大家来学习~
2024-07-24 21:38:23
1452
5
原创 LeetCode/NowCoder-栈和队列OJ练习
数据结构的学习离不开刷题,题刷的够多才能有题感,才能有把握,这个系列专门更新数据结构相关的习题、面试题,欢迎大家来学习~
2024-05-28 21:27:00
1292
9
原创 LeetCode/NowCoder-链表经典算法OJ练习4
数据结构的学习离不开刷题,题刷的够多才能有题感,才能有把握,这个系列专门更新数据结构相关的习题、面试题,欢迎大家来学习~
2024-05-22 22:58:21
1536
13
原创 LeetCode/NowCoder-链表经典算法OJ练习3
数据结构的学习离不开刷题,题刷的够多才能有题感,才能有把握,这个系列专门更新数据结构相关的习题、面试题,欢迎大家来学习~
2024-05-21 15:00:53
1428
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人