自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 vscode写代码时是中文,运行时出现乱码

解决vscode运行后中文出现乱码的情况

2024-05-30 10:45:44 107

原创 使用C++实现批量将文件从utf8格式转化为utf8(BOM)转化

用C++实现将文件从utf8批量转化为utf8带BOM格式。批量转化。

2024-05-17 15:48:55 143

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

讲解了右值引用和完美转发

2024-04-24 14:16:11 668

原创 【Linux】线程控制

讲解了控制线程的几个接口pthread_create()、pthread_exit()、pthread_join()、pthread_cancel()、phtread_sel()

2024-04-22 21:08:20 998

原创 【Linux】线程

认识线程,实现线程的创建、线程共享空间和私有空间、线程对比进程的优缺点

2024-04-21 16:42:13 961

原创 【MySQL】MySQL在Centos 7环境安装

全程mysql安装指南,保姆式教学!

2024-04-13 12:17:51 802

原创 【Linux】进程间通信——system V版本 信号量

举例:购买电影票,一个放映厅有100个座位,最多就只能卖100张票,每卖一张,票就少一张。所有执行流可以同时去申请信号量(只有一个会成功,就像买火车票,不会有相同的座位),但是所有。举例:进程A和进程B在通信,A写了一部分,B拿走了,就导致了收和发的数据不一致的问题。如上,每一个执行流要访问临界资源(电影院)的时候,需要申请信号量(买电影票)。:是指共享的,任何时刻只允许一个执行流访问(就是执行访问代码)的资源。——> 信号量是共享的!也就是两态的,要么不做,要么做完,没有正在做的概念。

2024-04-12 18:50:56 179

原创 【Linux】进程间通信——system V版本 共享内存

讲解了进程间通信中的共享内存的方式,包括共享内存的接口,并用代码实现共享内存通信

2024-04-12 18:25:58 982

原创 【Linux】进程间通信——匿名管道|命名管道

进程间通信,顾名思义就是两个进程互相通信。可是进程是独立的,该如何通信呢?类比你和你的朋友在网上聊天,你们两个人也是独立的,是如何通信的呢?因为你能看到你朋友给你发的消息,你朋友也能看到这份消息。这个消息就是一个公共的资源。所以进程间如果要进行通信,就需要两个进程看到同一份资源。那么,通信的地点在哪里呢?很明显,因为进程之间是独立的,所以通信的地点肯定不能在进程中,只能在操作系统中。结论:进程间通信的地点是操作系统。进程间通信的方式有很多,一般有三种:1.管道:通过文件系统通信。匿名管道。

2024-04-07 14:03:40 638

原创 【C++】const限定符|const引用

1.理清const引用的内容,临时变量具有常性,权限的放大缩小和平移。2.讨论const指针的两种情况,顶层const和底层const3.了解const修饰this指针

2024-03-30 16:26:50 640

原创 【Linux】动静态库

讲解了动静态库,并且讲解如何制作动静态库和如何使用和安装别人的第三方库

2024-03-20 01:02:36 956

原创 【Linux】软硬链接

讲解了硬链接和软链接的用法和作用。

2024-03-16 21:59:58 374

原创 【Linux】理解文件系统

讲解了磁盘的存储结构,逻辑存储空间。操作系统对文件的管理,文件系统如何操作。描述文件的组织。

2024-03-14 19:13:45 1136

原创 【Linux】文件缓冲区|理解文件系统

对文件缓冲区做深度解读。

2024-03-11 23:55:47 1010

原创 【Linux】进程地址空间

区分了内存和磁盘,区分了虚拟内存和物理内存。讲解了写时拷贝。对进程地址空间做了详细的解说。

2024-03-10 16:37:42 918

原创 【Linux】gcc与make、makefile

讲解了gcc命令:预处理、编译、汇编、链接。链接中详细阐述了动态链接和静态链接。将make和makefile详细说明。

2024-03-09 16:51:17 903

原创 【Linux】访问文件的本质|文件描述符|文件重定向

讲述了Linux下访问文件的本质,说明了什么是文件描述符的,阐述三种文件重定向,并介绍了dup2()函数的使用方法

2024-03-05 16:24:00 837

原创 【Linux】文件操作

叙述了C语言中文件操作的函数和系统调用接口中的文件调用函数

2024-03-03 16:27:39 921

原创 【基础算法】二分查找算法

二分算法模板总结

2024-02-27 21:56:29 736

原创 【Linux】进程程序替换

讲解了进程程序替换的原理和相关函数

2024-02-12 14:51:48 871 1

原创 【Linux】进程等待

讲解了wait/waitpid方法,对status的位图进行剖析,谈及非阻塞轮询。

2024-02-05 15:39:08 762

原创 【Linux】环境变量

讲解了环境变量

2024-01-01 16:04:13 850

原创 【Linux】进程(PCB,fork函数,运行状态)

本篇文章讲解了进程PCB,讲解了如何查看进程,组织进程;对fork函数进行非常深入的解释,描述了进程的基本状态。

2023-12-28 20:47:40 915

原创 【Linux】vim多行注释和取消注释

vim中多行注释和取消多行注释的快捷键

2023-12-24 16:35:42 590

原创 【Linux】gcc的使用和原理讲解

这篇文章讲解了gcc的使用,对预处理,汇编和,编译和连接进行了讲解

2023-12-02 13:35:59 971

原创 c++多态(原理深入剖析+画图详细解释)

该文章能让你对c++的多态有一个非常深入的认知,通过内存和汇编讲解底层原理!

2023-12-01 01:37:25 933

原创 c++继承(万字详解)画图+原理解说

继承的定义继承关系和访问限定符从这里可以看出,共有3*3 = 9种组合方式。那么,这些方式有什么区别呢?类成员/继承方式public 继承protected继承private继承基类的public成员派生类的public成员派生类的protected成员派生类的private成员基类的protected成员派生类的protected成员派生类的protected成员派生类的private成员基类的private成员派生类中不可见派生类中不可

2023-11-24 00:46:00 833 1

原创 前缀和与差分

本来这里只需要一个循环就可以解决,但是如果使用前缀和,就可以将O(n)的时间复杂度降为O(1)现在这里有一个数组,是a[1],a[2]…a[i]假设这个数组的和为s[i].因为也就等于。

2023-11-19 00:08:28 27

原创 list模拟实现

前面介绍list是带头双向循环链表,所以list就需要_prev,_next, _val三个成员.T _val;//构造函数//val = T()中T()是缺省参数,本来是不允许int a = int()这样的定义方式//可以理解为了构造函数开了一次后门,_val(val){}类比vector的迭代器,迭代器++就跳转到下一个位置.但是这对于vector有效,因为vector的地址空间是连续的,对于list就没有效果,因为list的地址空间是不连续的.但是为了使用迭代器该怎么办?

2023-11-18 00:27:18 24 1

原创 高精度加法,减法,乘法,除法

高精度加法、减法、乘法、除法的讲解

2023-11-10 15:38:09 27 1

原创 快排,归并,二分

快排模板。

2023-11-07 11:31:13 26

原创 模拟实现vector

外部迭代器失效问题解决了,现在需要解决内部迭代器失效问题。

2023-11-03 22:32:15 22 1

原创 string类的模拟实现

如果是i1 < _size这个条件违背了,就代表,i1走到了字符串的末尾,就对应着举例的三种情况的前两种,则返回false。如果不能比较出结果,例如刚才举例的三种结果,就接着比较字符串长度就行。如果 n < _size ,就需要扩容,并且把后面的补上c ,如果c没有赋值,就补空字符’\0’,如果给了,就赋给的值。先比较短的字符串,如果短的字符串就能比较出结果,例如’‘aaa’'和“bb‘比较,就直接返回比较结果。比较字符串的大小,除了最普遍的情况:某一个字符串不相等,最后比较大小出结果。

2023-10-16 21:24:01 26 1

原创 模板的介绍

问题:目前需要实现一个能够对任何数据类型都能使用的交换函数,该怎么做?上述代码只能实现int类型的交换,如果想要实现double类型的交换,又需要再写一份代码。这是不是太麻烦了。泛型编程:编写与类型无关的代码,是代码复用的一种手段。模板是泛型编程的基础。通俗的理解泛型编程就像一个模子。比如雕版印刷,有了这样的模具,就可以印刷出很多的文章。泛型编程也是这样的道理。那么为了解决问题,该怎么做呢?这就又需要引入一个新的概念,那就是。

2023-10-10 22:10:05 24 1

原创 友元 + 内部类 + 匿名对象

的。

2023-09-26 23:58:21 30

原创 静态成员详解

普通成员变量:属于每一个类对象,存储在对象里面。静态成员变量:属于类,属于类的每个对象共享,存储在静态区。因为:初始化列表是类的成员定义的地方,但是静态成员不是类的成员,是每个对象所共享的,所以静态成员不能在初始化列表中定义,也不能在类中定义。那么,静态成员变量要在哪里定义呢?静态成员变量在类外面定义。例如:因为:缺省值是给初始化列表的,静态成员函数没有初始化列表静态成员函数如何定义?在类中定义或者在类中声明类外定义在类中声明,类外定义静态成员函数里面能不能访问普通成员函数?不能,因为没

2023-09-22 15:12:36 65 1

原创 初始化列表

必须使用初始化列表。创建对象:对象整体定义初始化列表:对象成员定义在创建对象的时候,对象整体定义了,但是对象成员还没有定义,那么,对象的成员在哪里定义呢?private中是对对象成员的声明,并不是定义。所以对对象成员定义,就是在初始化列表中。为什么是引用成员变量、const成员变量、自定义类型成员呢?因为:1.引用成员变量和cosnt成员变量必须在定义的时候初始化,必须在定义的时候赋值,所以放在初始化列表中进行定义并且赋值。

2023-09-21 15:28:00 23

原创 实现日期类

需要完成的函数如上所示。但是,对于默认成员函数,内置类型编译器会自动生成。在日期类中,_year,_month,_day都是int类型,所以其实不需要写构造函数,拷贝构造函数,赋值运算符重载和析构函数。但是为了学习的必要,这里还是要显示一下。

2023-09-20 20:01:02 28 1

原创 解决Linux中创建的git仓库和本地克隆仓库之间分支或提交历史不一致的问题

我猜想问题可能是 : 我之前在本地仓库也提交过东西,所以导致了本地仓库和git仓库不一致的问题。我在输入了git add . 和git commit -m 命令之后,并没有出现意料之中的结果,而是报了一堆hint。这里需要注意的是,后面的master是你所在的分支的名字,如果你所在的分支不是master,而是其他的名字,填其他的名字即可。如果在输入上面的指令之后跳出already up-to-date,表示你所有的东西都提上去了。我当时疑惑的是我明明还有文件没有提交上去,但是显示了这个。

2023-09-13 21:55:18 124

原创 Linux的权限

现在,我们要学习,每个字母代表什么意思。我们首先来了解每个字母的意思:每个位置上只能表示两种意思: 是/否。举个例子,比如说在第一组中,代表是own的权限,即这个位置上的三个字母决定了文件的拥有者拥有什么样的权限。如果你想要own可读可写可修改,那这三个字母就是rwx。可是如果你想own可读可写不可修改,那就是rw-。

2023-08-23 16:00:52 40

空空如也

空空如也

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

TA关注的人

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