自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小胡同学的博客

每天进步一点点

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

原创 【Linux系统编程】基础IO(文件操作,文件描述符fd,inode,缓冲区,动静态库)

记录的信息主要有:bolck 和 inode的总量,未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息。这些是我们c语言层面的文件函数调用,那在linux下,会有系统的调用接口,系统的函数来对文件来进行操作,我们学习的语言的各种文件函数都是基于系统的函数调用的,在系统函数的基础上进行封装。那么我们可以看到,当我们创建文件的时候,是从3开始的,之后连续创建的文件都是连续的!

2023-05-27 18:52:09 133

原创 【C++】STL——priority_queue(介绍和模拟实现)

priority_queue被叫做优先级队列,他具有队列的特性,但他底层是用堆来实现的,因此他具有堆特性的队列,可以进行大小堆的构建来初始化,在显示的时候,需要对堆算法的熟悉,向上向下调整,建堆。

2023-05-24 15:41:42 52

原创 【C++】STL——stack&&queue

stack和queue是一种容器适配器,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。

2023-05-24 15:23:19 81

原创 【C++】STL——list(部分功能模拟实现、迭代器、反向迭代器)

STL中的list底层实现是用带头循环的双链表,这种结构设计巧妙的使得list能够在随机位置插入删除的效率搞,但处理不了大量数据,相比于vector,vector的随机位置删除的速度就低于list ,因为vector需要挪动数据,而list直接把链子相接就可以了那么list在使用的时候不难,stl的容器相似性很强,所以这次list的实现能更让我们学会c++关于封装的理解,c++类和对象的巩固,通过各种模板的类型,迭代器的封装,反向迭代器的封装使用。

2023-05-23 21:37:15 165

原创 【C++】STL——vector (vector 的使用、部分功能模拟实现、深拷贝、迭代器失效)

vector是STL的容器之一,他是一个类似顺序表的这么一个结构,能够进行插入删除、随机访问,一般像数组那样使用。在学vector 的过程中,遇到了关于深拷贝的问题,通过实现vector 能够更深层次的认识到这个容器的特性。

2023-05-23 20:37:22 293

原创 【C++】STL——string(部分功能模拟实现)

string和普通与此不同的是能够像数组一样的字符串,学习STL还能让我们认识到浅拷贝和深拷贝的知识,泛型模板的使用,认识到STL的六大组件,迭代器失效的问题。在学习string 的时候需要了解使用,和底层的部分实现原理,对于学习容器都需要了解他们的四大成员函数,还有其中的功能。string是STL容器之一,存放的是char类型值,被称为字符串,俗称串。

2023-05-21 20:39:06 61 2

原创 【Linux系统编程】进程控制(进程创建、终止、等待、替换)

其实那么多函数,都是由一个execve系统函数进程封装那么多类型的,他们本质还是不变的。子进程和父进程发生写时拷贝,两个进程修改的值互不影响,都是独立的进程页表进行映射。wait 是等待进程,wait是等待子进程,那么我们为什么要等待子进程呢?进程替换能够把当前进程进行的数据进行替换我们想要执行的。进程替换是直接替换当前进程的物理内存的进程映射。我们可以看到有大约六种函数,但他们都大差不差。总的来说fork是创建子进程的函数。

2023-05-15 20:15:21 136 1

原创 【Linux系统编程】进程概念

S:表示睡眠状态,因为每个进程在进行运行的时候都有规定的时间片,当运行时间超过这个时间片后,进程就会被调度到等待状态,也就是睡眠状态。僵尸进程的造成是因为,子进程的意外退出,父进程读不到子进程的退出码,子进程就会进入僵尸状态,演示一个程序,让子进程进入僵尸状态。那么进行在底层运行的时候,是通过数据结构进行运行程序的,程序的信息会被保存在一个叫task_struct 的结构体中。我们知道,一个进程,会被操作系统进行管理,那么如果把我们创建的进程叫做子进程,那操作系统就叫做接管我们的父进程。

2023-05-09 18:24:34 32

原创 【linux系统编程】基本指令

没写完

2023-05-03 18:03:42 50

原创 【C++】初始模板

模板类型

2023-05-02 17:14:39 41

原创 【C++】new和delete

new和delete是用户进行动态内存申请和释放的操作符,operator new 和operator delete是系统提供的全局函数,new在底层调用operator new全局函数来申请空间,delete在底层通过operator delete全局函数来释放空间。new和delete就是在堆上进行开辟空间,c语言上会有malloc和free,学下来会发现其实new和delete实现也是运用了malloc和free,是将功能进行封装,再加上其他的功能,使得用起来更加方便。基本上和内置类型相同。

2023-05-02 01:30:00 42

原创 【C++】类和对象——补充

在写法上,实在构造函数的时候,在作用域上面,使用冒号将成员变量进行初始化,用逗号进行隔开,这种初始化方式有点像拷贝构造。友元的用法是,能够声明类外面的函数进行访问类里面私有的成员变量,友元能够声明函数外,还能够声明类,叫友元类。需要注意的是,static 修饰的变量,初始化的时候需要在类外面初始化。一个函数能够是多个类的友元,声明的友元函数不能被const修饰。内部类就是在一个类里面定义另一个类,他们之间的关系天生自带友元。初始化列表是对成员进行初始化,但它在写法上会有点不同。使用explicit。

2023-05-01 19:57:11 49 1

原创 【C++】类和对象——六个默认成员函数

六个默认成员函数的使用

2023-04-30 01:44:06 52

原创 【C++】类和对象——初始

类是c++里面的叫法,如果是c语言,那么他就叫做结构体struct而在c++中,struct也能使用,但c++引入了新的名称叫做class。//class的使用跟struct的使用是一样的 //都包含了 关键字(class)函数名和作用域 //作用在类里面的函数叫做成员函数 void func();//在类里面的变量叫做成员变量 int a;//分号不可省略在类里面声明和定义的函数会被当作是内联函数(inline)声明和定义分离时需要在函数名前加入类名(Date:: )

2023-04-29 17:36:39 48

原创 【C++】学C++类和对象时需要掌握的基本知识

时为函数的。

2023-04-23 21:53:51 82 1

空空如也

空空如也

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

TA关注的人

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