自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

℉f的博客

每一个不曾起舞的日子,都是对生命的辜负。

  • 博客(107)
  • 收藏
  • 关注

原创 网络编程套接字1

socket编程入门,附有Udp简易回声服务器实现。

2024-07-15 06:00:00 1401 45

原创 【网络】网络基础(一)

在计算机发展初期,计算机之间相互独立,每个终端各自持有数据,这明显对于数据的共享很不友好,为了高效的数据传输和共享,世界各地的科学家、实验室就开始想办法提出自己的解决方案用来解决多设备数据共享的问题,所以在这一阶段形成了网络互联的概念。

2024-07-03 10:54:33 2946 58

原创 【Linux】线程周边002之线程安全

本篇文章内容:线程互斥、互斥量的使用、线程同步、条件变量的使用、可重入函数与线程安全相关内容。

2024-07-01 09:23:21 1373 46

原创 【Linux】生产者消费者模型

本篇文章内容:生产者消费者模型概述、基于阻塞队列BlockQueue的生产者消费者模型、POSIX信号量、基于环形队列的生产者消费者模型。

2024-05-25 15:30:00 1386 67

原创 【Linux】线程周边001之多线程

本篇文章内容:对线程的理解、地址空间与页表、线程控制、线程特点、分离线程、线程ID等。

2024-05-16 08:15:00 1443 30

原创 【算法】基础算法005之位运算

常见位运算

2024-05-16 08:00:00 286

原创 【Linux】信号

信号在我们的生活中无处不在,比如红绿灯给你递达了一个红灯停绿灯行的信号,收到快递取件码给你抵达了一个快递到了的信号等等,那么在计算机中也有信号的概念,对只不过接收信号的个体从人变成了进程,本篇文章我们会以信号的产生、信号的保存以及信号的处理来介绍信号的概念。

2024-05-13 09:45:00 1405 60

原创 【算法】基础算法004之前缀和

本篇文章为大家带来前缀和算法,前缀和算法可以以O(1)的时间复杂度快速求出某一段连续区间的和,这个连续区域既可以是一维的也可以是二维的。

2024-05-08 09:36:04 1452 68

原创 【Linux】进程间通信

由于进程间具有独立性,他们之间是不能直接访问获取甚至修改对方的数据的,但是在实际需求中,我们需要进程之间进行交互,所以必须开发某种方式使进程间可以建立联系。在最开始,进程间通信最原始的方式就是利用管道,当然随之也有诸多不同的进程间通信的标准,接下来就让我们一起来学习下吧!

2024-05-05 14:00:00 2058 61

原创 【C++】异常

C语言是如何处理错误的?C语言处理错误的机制实际上比较低级,比如直接终止程序assert或者返回错误码自行查表找错等,那C++作为一个面向对象的语言,对比C语言来说处理错误的方式有何优点呢?今天让我们一起来学习一下『 异常处理』吧。

2024-04-29 10:00:00 1667 67

原创 【算法】基础算法003之二分

本篇文章主要围绕二分算法展开,二分算法主要利用的是数据的二段性,当数据符合某种规律时,可以根据这种规律将数据分为两段,并且每次查找都可以将另一段舍去。注意:二分算法并不仅仅适用于有序时,而是数据满足某种规律即可。

2024-04-29 09:45:00 1671 3

原创 【C++】C++11 包装器

我们目前学习过的可调用对象有三种:函数指针、仿函数以及lambda表达式(实际上也是仿函数),但是这三种可调用对象却又有各自的缺点,比如函数指针类型写起来比较复杂,仿函数的类型不统一,而lambda表达式语法层上就没有类型,所以C++11引入了包装器,主要就是为了封装他们,统一类型。

2024-04-22 09:56:18 1566 66

原创 【C++】C++11右值引用

今天我们正式进入C++11的学习,C++11引入的一个非常重要的语法就是右值引用,在C++11之前的C++版本我们所提的引用都是左值引用,那么右值引用与左值引用又有什么区别呢?什么是左值?什么是右值?右值引用的价值体现在哪里?那么接下来我们就来学习有关右值引用的相关知识。

2024-04-19 14:15:00 1667 61

原创 【C++】C++11 lambda表达式

lambda表达式的引入是为了简化代码,提高代码的可读性,在某种角度上来看,lambda表达式实际上是一个匿名函数。

2024-04-15 09:45:00 1281 58

原创 【C++】C++11可变参数模板

其实我们之前经常使用可变参数模板,C语言的printf函数大家一定非常熟悉,其实这就是一种可变参数模板:那么在C++11引入可变参数模板的设计可以带来什么变化呢?让我们一起来学习下吧!

2024-04-09 09:45:00 2459 73

原创 我的创作纪念日

每一个不曾起舞的日子,都是对生命的辜负。

2024-04-09 08:00:00 674 10

原创 【C++】C++11类的新功能

在C++11中,类增加了2个新的默认成员函数,没错就是我们上一篇刚刚学习的移动构造与移动赋值,并且新增了一些功能,比如default、delete、final和override等关键字,让我们一起来探讨一下吧!

2024-04-04 08:00:00 3048 67

原创 【Linux】动态库与静态库

本篇文章博主会与大家共同学习动静态库的相关内容,涉及到动静态库的基本知识与特征,动静态库的打包与使用等内容。

2024-04-01 12:15:21 2127 57

原创 【C++】哈希应用之布隆过滤器

布隆过滤器是哈希的又一重要应用,上篇文章我们谈到位图只能处理整型数据的问题,那么对于布隆过滤器来说它结合了哈希与位图,使数据处理扩展到了字符串甚至其他数据类型上。

2024-03-26 16:15:00 3130 76

原创 【C++】哈希应用之位图

哈希是一种解决问题的思想,那么有关哈希的一个重要应用便是位图,该种结构适用于海量数据,数据无重复的场景,通常用来判断某个数据存在或者不存在,但只能处理整型数据。

2024-03-26 09:45:00 1573 45

原创 【C++】如何用一个哈希表同时封装出unordered_set与unordered_map

上次我们模拟实现了闭散列的哈希表与开散列的哈希表,但很明显上次实现的很粗糙功能很简单,迭代器并没有实现,以及泛型编程思想也没有应用,那么对于本篇文章我们要用一个哈希表同时封装出unordered_set 与 unordered_map,对此我们之前已经成功用一颗红黑树同时封装出set与map,大致的思想是类似的,只不过这里会略微复杂一些。

2024-03-24 07:39:19 1890 66

原创 【数据结构】哈希表与哈希桶

本篇文章我们共同学习哈希结构,哈希结构追求更极致的搜索效率。之前学习的结构中搜索的效率取决于搜索过程中元素的比较次数,因此顺序结构中查找的时间复杂度为O(N),平衡树中查找的时间复杂度为树的高度O(logN)。那我们能不能构建一种数据结构,让搜索效率达到O(1)呢。如果构造一种存储结构,该结构能够通过某种函数使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时就能通过该函数很快找到该元素进而达到O(1)的查找效率。接下来就让我们共同学习哈希结构。

2024-03-20 10:00:00 2544 81

原创 【C++】如何用一棵红黑树同时封装出set与map

在之前的学习中,我们了解到set中存储的一般为键K即可,而map存储的一般都是键值对KV,也就是说他们结构是不同的,那么我们如何才能用一颗红黑树同时封装出set与map两种容器呢?简单的说就是模板的使用,对于set存储的,对于map存储的是;那么红黑树我们就可以使用模板,比如RBTree,T就是这个模板类,当set使用时就是K,当map使用时就是pair。那么接下来我们具体地来研究下STL库中是怎样实现的,并且进行模拟实现。

2024-03-15 09:01:17 2160 82

原创 【数据结构】红黑树(C++实现)

如果没有现在的红黑树的话,那么可能set与map底层的数据结构就是AVL树了,那么红黑树的设计为什么能够取代AVL树的地位呢,红黑树的设计又有哪些奥秘,今天让我们一同来探索一下吧!

2024-03-11 09:45:00 2004 73

原创 【Linux】文件周边003之文件系统

系统中大部分的文件是没有被打开的,那么操作系统是如何管理这些没有被打开的文件呢,接下来我们就要开始学习Linux系统对于『 未打开的文件』的管理。

2024-03-09 08:00:00 1821 69

原创 【数据结构】AVL树

本篇文章主要与大家一起学习AVL树-平衡二叉搜索树。我们前面学习二叉搜索树时,了解到如果插入的元素有序或者接近有序,二叉搜索树的结构就会退化成单支树甚至是链表,那么此时搜索的时间复杂度会退化,如果一个二叉搜索树可以一直保持平衡的话,那么他的时间复杂度是logN,即高度次,所以AVL树-平衡二叉搜索树的出现就是为了解决二叉搜索树不平衡的问题,从而保证搜索效率。

2024-03-06 15:20:07 1804 80

原创 【C++】树形关联式容器set、multiset、map和multimap的介绍与使用

本篇文章博主会与大家共同探索STL库中树形结构的关联式容器:set、multiset、map与multimap,其中涉及树形结构的关联式容器的使用与一些特性的讲解介绍。

2024-02-28 17:09:36 1945 70

原创 【算法】基础算法002之滑动窗口(二)

滑动窗口专题续作,本篇文章继续围绕滑动窗口进行讲解,并辅以实战OJ题帮助理解。

2024-02-19 13:27:00 2113 74

原创 【算法】基础算法002之滑动窗口(一)

本篇文章主要会讲解滑动窗口的解题思想,滑动窗口实际上就是利用双指针的基础思想,并且利用单调性进行解题的方法。滑动窗口所用到的双指针是用来维护这个所谓的『 窗口』,所以这两个指针是『 同向』且『 不回退』的,这也就决定了滑动窗口解题的时间复杂度最多为O(2N) 即O(N),所以滑动窗口是一种非常优秀的算法思想。那么滑动窗口思想具体的应用,以及如何分析判断是否适用滑动窗口解题呢?

2024-02-18 15:44:15 2498 61

原创 【C++】 为什么多继承子类重写的父类的虚函数地址不同?『 多态调用汇编剖析』

本篇文章主要是为了解答有关多态的那篇文章那块的一个奇怪现象,大家还记得这张图片么?你有没有发现:多继承子类重写的func1函数地址竟然是不同的?按常理讲:我们知道函数地址存储的是函数的指令的位置,这里『 应该是相同』的,才能保证对象在调用时都调用『 子类重写后的』func1方法 ,否则就失去了重写的意义了。所以这里一定存在某些底层设计,那接下来就让我们转到『反汇编 』,来查看以下vs在这里是如何设计的吧。

2024-02-16 11:02:56 1781 54

原创 【Linux】命令行解释器脚本编写

综合前面所学,我们今天来写一个经典的shell脚本,『 命令行解释器』,包含检查内建命令、检查重定向功能。

2024-02-07 10:00:00 1644 21

原创 【Linux】文件周边002之初步理解文件管理(打开的文件)

本篇文章博主将会讲解『 Linux系统是如何管理打开的文件的』,『 进程与文件之间是如何联系的』,『 重定向』以及『 C语言中的FILE结构体』的相关内容。

2024-02-05 15:04:18 1958 61

原创 【数据结构】二叉搜索树

本篇文章博主会对二叉搜索树的一些特性进行讲解,并且进行模拟实现。

2024-02-03 16:19:17 2735 77

原创 【C++】多态

涉及多态底层原理剖析,万字详解,助你攻克C++多态。

2024-01-31 09:14:42 1913 75

原创 【C++】继承

本篇文章主要讲解『 C++继承』的相关内容。继承(inheritance)机制是面向对象程序设计中使代码可以复用的最重要的手段,它允许程序员在保持『 原有类特性的基础』上进行『 扩展』,『 增加』功能。这样产生的新类,称『 派生类』(或『 子类』),被继承的类称『 基类』(或『 父类』)。

2024-01-29 09:02:05 1842 70

原创 【C++】模板进阶

本篇文章博主会与大家共同学习非类型模板参数、类模板的特化以及模板的分离编译相关内容。

2024-01-27 08:45:00 1822 67

原创 【C++】反向迭代器模拟实现

每一种容器或适配器都要实现自己的反向迭代器,如果是这样的话代码会不会太冗余了,因为他们的反向迭代器的逻辑都是相同的。

2024-01-25 11:28:00 1648 61

原创 【Linux】文件周边001之系统文件IO

学习『 系统文件IO』之前,我会与大家先复习一下C语言部分文件IO的相关接口,为后面的学习作『 铺垫』。系统文件IO部分,本篇文章会讲解『 基本的系统调用』:open()、close()、read()、write(),有关参数传递涉及到『 位图方式传递』,这部分以前没有学习过,博主也会拿出来简单的学习一下。

2024-01-24 10:32:11 1281 8

原创 新画图不好用?『 图层困扰?』『 剪切板拷贝失败?』旧版画图软件yyds

提供了『 旧版画图下载安装方式』,深受新版画图软件困扰的同学们看过来~

2024-01-24 09:56:23 1806 7

原创 【C++】priority_queue模拟实现过程中值得注意的点

本篇文章旨在记录博主在模拟实现priority_queue适配器中遇到的一些问题,希望与大家共勉。

2024-01-22 16:11:32 1571 50

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除