自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】设计模式

本篇介绍了设计模式,以及举出单例模式的例子代码实现。介绍了在读写锁的接口和自旋锁的使用场景以及对比了自旋锁和互斥锁。简单介绍了常见的乐观锁和悲观锁。

2022-05-16 23:42:49 444

原创 【Linux】信号量&&线程池

本篇介绍了信号量的接口和线程池的实现

2022-05-16 14:38:03 406

原创 【Linux】线程篇---线程安全&&生产者消费者模型

本文介绍了线程安全的概念,代码实现互斥锁与同步的条件变量,讲解了相关函数的接口,配套了练习。使用互斥和同步实现了生产者消费者模型。

2022-05-10 09:45:15 366 1

原创 13天带你了解C++ ---DAY10 C++之vector

vector容器是C++标准模板库提供的管理任意元素的动态顺序表容器。vector容器底层实现和string很像,都是动态的顺序表。也可以说string是vector的一种特例,它将普通的vector容器封装,增加了对字符串的操作,即对‘0’的操作,下边介绍了vector容器的一些基本操作,均参考于C++官方文档。

2022-05-07 20:18:34 401

原创 13天带你了解C++ ---DAY9 C++之string

本文介绍了string类的基本使用方法,非常详细,以及使用c++模拟实现了string类。本文参考至C++官方文档。

2022-05-03 22:16:39 674

原创 【Linux】线程篇---线程控制

1.多线程概念父子进程 主线程 共享区 线程图2.多线程优缺点优点缺点3.多线程之间的共享与独有4.线程创建函数,参数介绍,返回值介绍释放空间权力给线程5.线程终止函数,参数介绍,返回值pthread_cancel终止main进入僵尸状态引出线程等待(ps aux top)6.线程等待函数介绍代码演示7.线程分离默认状

2022-05-02 23:34:30 407

原创 13天带你了解C++ ---DAY8 C++之STL简介

STL六大组件介绍容器、迭代器、仿函数、适配器、空间配置器

2022-04-19 20:24:20 1230 1

原创 【Linux】进程篇---进程控制

🍔1.进程创建在Linux中,第一个进程是由操作系统创建的,其它进程都是由第一个进程通过不断创建子进程分裂出来的。而创建子进程的函数就是fork();🍉🍉1.1 fork概念🍉🍉1.2 fork用法🍉🍉1.3 fork的特性🍉🍉1.4fork内部原理🥩2.进程终止🍒🍒2.1进程终止概念🍒🍒2.2正常终止🍒🍒2.3异常终止🍒🍒2.4exit和_exit

2022-04-17 10:07:56 423 4

原创 13天带你了解C++ ---DAY7 c++的 模板

函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生特定类型的版本。不是真正的函数,只是编译器生成代码的一种规则,比如传int型参数,编译器就生成一份int型的代码。代码验证生成三种入口地址不同的函数实例化函数模板实例化后,编译器根据实例化结果来推演实参的类型,然后根据推演的结果生成处理具体类型的参数。隐式实例化显式实例化函数模板可以与同名函数同时存在,优先调用非模板函数(或者重载),不然再生成一份函数浪费资源。...

2022-04-15 11:02:03 788 3

原创 13天带你了解C++ ---DAY6 c++动态内存管理

1.malloc和free在C语言中,我们动态在堆上开辟空间使用malloc关键字,free关键字释放资源,一般malloc和free是成对出现的。malloc申请内存时,系统会分配一块内存空间,并改变其标志位,证明只能这个内存的地址才能对其进行读写操作。free是将这块内存的空间资源释放,也就是让这个标志位恢复,系统就认为此地址空闲,并且可以分配出去。此时,若我们未将指针置空,它就依旧指向原来的地址,当我进行读写操作时,就会发生读写错误。#include<iost...

2022-04-13 20:19:29 259 5

原创 13天带你了解C++ ---DAY5 c++类中的6个默认成员函数

1. 6个默成员函数介绍在c++中,我们定义了一个类,编译器会默认在这个类中生成6个成员函数,空类也不例外。成员函数如下图。当我们实例化对象时调用构造函数进行对象初始化,销毁对象时调用析构函数进行资源释放,用对象创建另一个相同的对象时调用拷贝构造函数,将对象的值赋值给另一个对象时调用赋值运算符重载之后的函数,取地址时调用&函数。 这几个函数保证了类和对象的基本操作,这6个函数如果我们不定义,编译器会自动生成。但是,笔者建议在新手期除取地址运算符外,其余...

2022-04-12 15:30:33 1256 5

原创 13天带你了解C++ ---DAY4 类的相关定义及操作,this指针

1.类的引入在C语言中,描述一个事物的属性时通常使用结构体,我们将事物的属性变量整合在一个结构体中。这样就方便我们进行统一调度这些变量属性,但是C语言结构体中是不能放函数的。我们只能将功能函数定义在结构体外,在遇见大项目时,各种函数名非常容易记混,这增加出错的风险。在C++中,引入类概念,就很好的解决了问题。它规定结构体中是可以使用定义变量和函数的,这极大的提升了我们的代码幸福感。两个类定义代码,只是见识一下类块解释2.封装 概念,以类为例子解释,面向对象3.类的定义 ...

2022-04-08 18:08:51 898 5

原创 【Linux】进程篇---进程概念及原理

1.什么是进程?进程是程序的一次动态执行过程。我们写的源码是一个文件,和文本文件一样都是存储在磁盘上的。未编译之前,它就是文本串。在编译运行后,他就变成一个可执行程序。这个程序跑起来之后就变成了进程。2.操作系统是如何管理进程的?操作系统使用进程控制块(PCB)记录进程信息,然后由双向循环链表将一个个进程控制块组织起来。每个进程都有属于自己的PCB,而PCB实际上就是一个结构体,其中包含许多成员变量,这些成员变量记录着进程的各种信息。...

2022-04-05 17:33:35 1842 21

原创 13天带你了解C++ ---DAY3 宏替换和内联函数

1.什么是内联函数?2.如何使用内联函数?3.内联函数和宏定义有什么区别?4.

2022-04-03 21:35:57 992 1

原创 13天带你了解C++ ---DAY2 函数重载&&引用

一.函数重载1.1什么是函数重载?若多个函数具有相同的函数名,相同的作用域,不同的返回值,则这些函数就是进行了函数重载,此处的参数列表不同包括参数列表个数不同,次序不同,类型不同等1.2重载函数如何使用呢?#include<iostream> ...

2022-04-02 20:54:54 1063 1

原创 13天带你了解C++ ---DAY1 用c++写下第一个程序

1.什么是C++?C++是在C语言基础上迭代出的高级语言,它向下兼容C语言,向上进行了扩充,引入了面向对象的概念。所以说C++既是面向过程的语言,又是面向对象的语言。从内容上看,C++相对C语言主要变化是提供了强大的STL库,其对C语言中的栈,堆,队列等数据结构进行了封装,减少了程序员“造轮子”的环节,同时提供了一些算法,方便了日常使用。2.面向对象和面向过程有区别?面向对象主要是3.如何写一个C++程序?#include<iostream> ...

2022-04-01 21:14:52 848

原创 13天带你了解C++ ---前瞻篇

近期,笔者想出一个系列梳理一下c++中的知识点,为那些想学习c++但是不知道如何着手的同学提供一条捷径。希望各位看官老爷能给个关注,大家共同学习,一起进步。 DAY1:带大家了解什么是c++,带大家写一个简单的C++程序,了解程序各部分的含义。 DAY2:带大家一起了解c++中的引用和指针。 DAY3:C++中的宏替换和内联函数 DAY4:类的定义方式,封装,对象内存大小及对齐方式,类中的this指针 DAY5:类中的6个默认成员函...

2022-03-31 23:40:45 309

原创 二分查找的实现

1.基本概念:二分查找是一种常见的查找算法,是在已经排好顺序的数组中找到想要找到的数字或者字符2.使用条件:已经排好顺序的数组3.基本思路:和游戏“数字炸弹”一样,通过不断二分缩小边界,快速找到需要的数字。如图数组元素为11-19,我们需要找到数字13,并返回下标。因为数组是排好序的,所以我们选择中间元素15和目标数13比较,发现中间数字大于13,所以13一定是在中间元素15的左半边区间。然后我们将右边界收缩到15,即15右边的数字舍弃,继续循环使用以上步骤,将中间元素13和目标

2022-03-30 21:46:11 3104 1

原创 【Linux】IO基本操作及原理

目录一、库函数二、系统调用 三、文件流指针和文件描述符 我们最早接触IO操作函数应该就是c语言了吧,所有今天我们从c语言中的函数出发,逐层剥离,回归到IO操作的本质。一、库函数1.fopenFILE *fopen( const char*path , const char *mode);//path:需要打开文件的地址,也包括文件名,若文件在当前路径下,可直接使用文件名。//mode:打开文件的参数,具体参数如下r:...

2022-03-28 15:11:59 365

原创 【快速入门】创建你的第一个linux程序(详细教程)

介于有些同学想学习linux,但是又不知道如何着手,希望笔者能这篇博客给大家简单的参考,运行环境为centos+xshell。一.快速入门1.打开Linux命令行,输入以下命令,创建出名叫helloworld.c的文件vim helloworld.c2.在英文模式下,按i进入插入模式,然后开始正常编辑代码,如下#include<stdio.h>int main(){ printf("helloworld"); return 0;}3.代码编辑完毕后,按..

2022-03-27 14:19:51 5909 9

空空如也

空空如也

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

TA关注的人

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