自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux一二三章那些是重点呢

文件描述符是一个整数,1)管道(Pipes):管道是一种单向通信方式,用于在父进程和子进程之间或者同一主机上的不同进程之间传递数据。它可以是匿名的,也可以是命名的。7)文件(File):进程可以通过读写文件来进行通信,这种方式通常用于进程之间的间接通信,例如使用临时文件或者共享文件。库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供给使用者一些可以直接 拿来用的变量、函数或类。6)套接字(Sockets):套接字允许在网络上的不同主机上的进程进行通信,是实现网络通信的基础。

2024-10-15 21:43:29 526

原创 代码随想录 ———— 动态规划

因为右侧肯定是大于等于 左侧,按照最优的想法来看肯定可以消除。就是说要求我们可以往容量为11的背包放最大价值是多少。那我们4 7 跟 1 1 2 8 他们互相消除。最后得出来 可以放 4 7 就是11。所以我们就用(sum - 右侧)-右侧。就是代表的是 左侧-右侧 就是最少剩余。左侧肯定可以被右侧 都消除 为啥呢?就是求我们最多可以把背包装多少?比如例子 2 7 4 1 1 8。3 使用最小话费爬楼梯(会)1 斐波那契数列 (会)5 不同路径|| (会)我们是23/2 = 11。4 不同路径 (会)

2024-10-12 09:39:59 135

原创 wenserver中 一些常见的 错误码

是 Linux 系统中定义的一个错误码,代表“被信号中断”。当一个系统调用在执行过程中被一个信号处理函数中断时,这个系统调用会。在尝试写入数据时,如果缓冲区已满且操作是非阻塞的,那么会返回。当我收到一个其他信号的时候。系统就会返回EINTR。在尝试读取数据时,如果当前没有数据可读,并且操作。现在没有数据要读 我们read一直阻塞在这里。是同义的,并且它们具有相同的值。举个例子 read函数是阻塞的。

2024-10-10 20:28:48 341

原创 代码随想录 --- 双指针

题目都是从链表跟字符串中 找的。

2024-09-25 21:08:31 131

原创 webserver

append添加任务(意思就是假设我们用户进来了,我们需要把用户的东西添加到我们的请求队列当中去)第二 线程池是一个池子 我们需要一个池子来保存他(里面有好多线程)构造函数(里面要有线程的数量,请求队列中最多允许的的请求数量)第五 互斥锁 就是我们定义的locker中的东西。第四 请求队列 里面装的是我们的用户的一些信息。第六 信号量 (判断我们是否有任务需要处理)析构函数(作用就是把线程池里面的数据清空)第三 请求队列中最多允许的的请求数量。第一 肯定要有线程的数量。

2024-09-25 20:09:47 112

原创 代码随想录 --- 字符串

第二点我写这个反转函数之后要把s传进去 必须是&的形式,如果不是那我们string 不会更改。第二个位置是数字 我insert(s.begin()+i,"number");所以我先在要删除的地方插入我的number ,然后再删除。然后再erase(s.begin()+i+//注意是+5 为什么写一下就知道了。最重要的是我自己写一个可以反转的函数。erase删除之后并不会返回什么东西。首先第一点 我们如何处理反转?

2024-09-22 18:07:09 145

原创 代码随想录 --- 哈希表

std::unordered_set底层实现为哈希表,std::set 和std::multiset 的底层实现是红黑树,红黑树是一种平衡二叉搜索树,所以key值是有序的,但key不可以修改,改动key值会导致整棵树的错乱,所以只能删除和增加。(注意他只能操作string类型的字符串)他是把string类型的字符串 变成数字。1 有效的字母异位词 (会做)2 两个数组的交集 (会做)5 四数相加II (会做)4 两数相加 (会做)3 快乐数 (会做)6 赎金信 (会做)

2024-09-21 20:55:11 160

原创 linux高级中需要的各种基础知识

调用wait函数的进程会被挂起(阻塞),直到它的一个子进程退出或者收到一个不能被忽略的信号时才被唤醒(相当于继续往下执行)pid < -1 : 某个进程组的组id的绝对值,回收指定进程组中的子进程。功能:等待任意一个子进程结束,如果任意一个子进程结束了,次函数会回收子进程的资源。第一个参数一般没有什么作用,为了方便,一般写的是执行的程序的名称。管道默认是阻塞的:如果管道中没有数据,read阻塞,如果管道满了,write阻塞。进程退出时的状态信息,传入的是一个int类型的地址,传出参数。

2024-09-19 18:19:31 734

原创 代码随想录 --- 数组

这个题根据卡尔那个思想 很简单就可写出来 笔记本已经记了。注意sort中的cmp函数写的时候需要 加上static。注意 sort自定义怎么写?

2024-09-14 21:57:15 109

原创 为什么linux简单服务器编程不能同时多个用户端链接服务端

函数来接受客户端的连接。这个函数是阻塞的,即当有客户端连接时,服务器端会阻塞在这里直到接受到一个客户端连接。如果有多个客户端同时发起连接请求,只有一个请求能够被处理,其他请求会排队等待。:在服务器端代码中,使用了。

2024-09-13 21:40:44 189

原创 cpp中各种容器的简单使用

unordered_map(无序映射)unordered_set(无序集合)deque(双端队列)

2024-09-12 09:35:47 250

原创 多线程模版

pthread_mutex_unlock(&mutex)//解锁。

2024-09-11 09:08:53 129

原创 linux中 0664 什么意思

是一个八进制数,它指定了新创建文件的权限。在类Unix操作系统中,文件权限由三个八进制数字组成,分别代表用户(owner)、组(group)和其他(others)的权限。

2024-09-02 11:40:24 148

原创 代码随想录----链表

第二点就是我知道要设置一个虚指针指向head 但是我用的是listnode * first = null肯定不可以的我们需要listnode * first = new listnode(0)这样才可以的。思路我很简单 但是 小细节我需要完善 第一 我们的head指的是链表的第一个元素 我用了head.size()这不纯有病。1 移除链表元素(看看)

2024-08-13 18:08:24 108

原创 代码随想录---栈与队列

声明::大家好,我也是一个在学习的菜狗,如果你刷到了我 感觉代码随想录我写的模块里面的题目有那个不会的 欢迎私信我,我会尽我所能给你解释(纯纯交朋友!首先我们题目不是难题但是很多细节 比如。一定要注意要把q2的东西清除了!这个题目的问题就是使用stack!1---用栈实现队列(细节很重要)2---用队列实现栈 (再看看)3---删除字符串所有重复项。

2024-08-07 09:21:49 191

原创 c++中偏特化 特化

模版 偏特化 不可以对函数模版 偏特化。

2024-08-05 09:14:30 357

原创 代码随想录----贪心算法章节

特别注意的是如果我们前一个等于0 后一个不等于0 也成立 举个例子 5 5 4 他的差值是 0 -1 这里 5 4 就是一个摆动序列 (好理解)思路 首先把第一个赋值成max,如果我们max+当前元素

2024-08-03 22:55:01 237

原创 liunx

sudo yum --disablerepo=updates install wget 因为这个仓库出现问题 我运行时候临时禁用。

2024-08-02 09:36:39 99

原创 erase insert 使用方法

【代码】erase 使用方法。

2024-07-26 12:05:54 80

原创 c++中对于工厂函数的理解

工厂函数一句话概括就是我们可以利用这个函数进行 类型转换 比如说从 子类转换成父类对象。

2024-07-24 16:55:05 135

原创 基类的拷贝构造函数拷贝赋值操作会被派生类的拷贝构造 拷贝赋值所调用

当我定义一个dog时候里面有一部分是anmial 的因为狗是动物的一种 所以我们会调用基类的。在举个例子我们基类 是anmial 派生类是dog。

2024-07-24 10:48:36 75

原创 c++中尽量可以把资源放在对象内

因为我们如果不放在对象内我们delete 的时候有可能在我们的delete 前面就会出现异常 导致我们内存泄漏 问题 但是我们放在对象内部 就不会 因为我们会自动调用析构函数。

2024-07-24 10:13:46 96

原创 虚析构函数的作用是什么

我们析构只会进行 ~base 但是继承的析构不会被调用 这就会导致内存泄漏的问题潜在发生。如果我们不加virtual会出现什么问题?

2024-07-22 12:18:47 185

原创 c++中继承

公有继承不会改变基类成员的访问级别。

2024-07-22 11:45:02 226

原创 c++中异常的使用方法

如果我们代码出现了异常我们就throw 他 然后我们在catch中就会捕获他,e.what()是一个字符串 该字符串描述了异常的原因。例如我运用我们的std::invalid_argument。首先我们列举出常见的异常类型 那么怎么使用呢。

2024-07-20 11:17:29 164

原创 c++中重载前++跟后++ 为啥一个是& 一个不是呢

我们前置++是返回我们引用 因为如果我们不返回引用我们第二次 ++obj就还是对我们定义的obj进行++,而不是对我们第一次的++obj之后再++obj;这就会导致我们的不连续性;我们后置++ 是返回我们的对象而不是引用 如果我们采用 &的形式代码如下。我们返回的temp就会随着*this的改变而改变但是我们后++ 的目的是。但是如果按照&的形式我们的temp会。,修改后的 obj 留在原处。

2024-07-17 19:34:08 166

原创 i/o stringstream

is >> name;//istringstream 是输入流 因此意思就是从我们的line把第一个单词赋值给我们的 name。//意思就是绑定我们的is到line上。作用是把字符串"woshishei"意思是从控制面板上把数据。到我们的控制面板上;

2024-07-15 17:19:54 109

原创 allocator使用简单易懂

【代码】allocator使用简单易懂。

2024-07-15 11:01:57 88

原创 顶层const 底层const

例如 int * const p p不可更改这就是一个 顶层const。例如 const int *p// 可以更改p 这是一个底层const。const int s// s不可以更改 这是一个顶层const。用来声明引用的 const都是底层const。

2024-07-12 16:52:18 248

原创 static 静态成员变量跟成员函数 跟普通的有什么区别

的一部分,但它们不依赖于类的具体实例。:静态成员变量被类的所有实例共享。无论创建多少个类的对象,:静态成员函数可以通过类名和作用域解析运算符。:静态成员函数不依赖于类的任何实例,,它们在程序的生命周期内持续存在。:静态成员变量的生命周期是从程序。直接调用,无需创建类的实例。,通常在文件作用域内进行。,无需创建类的实例。

2024-07-11 21:35:45 134

原创 set_intersection的使用

头文件中定义的一个函数,它的作用是创建一个插入迭代器(Insert Iterator)。插入迭代器是一种迭代器适配器,它可以将元素插入到给定容器的指定位置。上面这种操作会带来一个问题 就是一旦我们的v3中有元素 我们会覆盖v3中的元素 如果想要不覆盖怎么操作?就要提出我们的inserter。范围 [first1, last1) 和 [first2, last2) 的交集,并将结果存储在另一个范围内。头文件中的一个函数,它用于计算两个。:允许通过迭代器在容器中插入元素,而。

2024-07-11 20:47:34 191

原创 getline的使用

这里是getline(cin,line) cin意思就是从我们输入流中读取数据,意思就是从控制面板读取数据还可以写成。是一个函数,用于从输入流中读取一行文本,直到遇到换行符、文件结束符(EOF)或者读取了指定的最大字符数。

2024-07-09 11:48:13 144

原创 如何利用代码创建一个文件

我们首先要包含头文件#includeifstream意思是从文件中读取我们的数据。其实这玩意我自己不是很好理解。

2024-07-09 11:08:17 123

原创 shared_ptr 使用方法

这是最推荐的方式,因为它可以提高效率并减少内存泄漏的风险。使用构造函数,但需要确保传入的指针是动态分配的。

2024-07-08 21:50:06 88 1

原创 const使用

你可以像调用普通函数一样调用const函数,但是const对象只能调用const成员函数。,意味着这个函数不能修改类的任何非静态成员变量。const使用过程中会产生很多问题需要注意。在类定义中,将函数声明为。

2024-07-08 21:33:21 92

原创 什么情况下用回溯

这是一个经典的回溯问题其实刚开始思路就是暴力for循环,我们digits大小多少我们就要循环多少次。但是如果我们digits很大就完全不可以采用我们的暴力 这时候就果断选择回溯。我们可以考虑暴力是怎么写的,然后再来写回溯。但是如何可以很清楚的想明白他的写法。我们begin代表的就是我们暴力中。把我们再把回溯代码写出来。

2024-07-08 10:54:15 146

空空如也

空空如也

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

TA关注的人

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