自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (8)
  • 收藏
  • 关注

原创 耗时一周,一万字总结——C++提高编程二::STL,确定不点个收藏???
原力计划

1,STL初识1.1 目的为了创建一种可重复利用的东西,C++中的面向对象和泛型编程思想,就是复用性的提升STL是为了建立数据库和算法的一套标准1.2 基本概念STL:标准模板库 STL从广义上分为:容器,算法,迭代器 容器和算法之间通过迭代器进行无缝连接 STL几乎所有的代码都采用了模板类或者模板函数1.3 STL六大组件STL分为六大组件:容器,算法,迭代器,仿函数,适配器(配接器),空间配置器容器:各种数据结构,如vector,list,deque,set,mao等

2020-07-13 23:54:43 3718 19

原创 C++提高编程一 ::模板
原力计划

1,模板的概念模板就是建立通用的模具,大大提高复用性特点:模板不可以直接使用,他只是一个框架 模板的通用并不是万能的2,函数模板C++的另一种编程思想称为泛型编程,主要利用的技术就是模板 C++模板两种模式机制:函数模板和类模板2.1函数模板语法作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表语法:template <typename T> template 声明创建模板typename ...

2020-07-08 20:03:52 613 6

原创 C++阶段总结第三部分——八千字面向对象总结。三期C++的基础知识完结散花,求点赞求关注求收藏,求一键三连
原力计划

第三部分 C++核心编程二本阶段主要针对C++面向对象编写1,面向对象C++面向对象的三大特性为:封装,继承,多态关于对象的说法:万事万物皆为对象,对象有其属性和行为eg: 人可以作为对象,属性有:姓名,身高,体重,年龄 车也可以作为对象,属性有:轮胎,方向盘,车灯 具有相同性质的对象,可以抽象称为类。1.1封装封装意义:将属性和行为作为一个整体,表现生活中的事物 将属性和行为加以权限控制语法:class 类名{ 访问权限: ...

2020-07-07 11:00:09 2403 9

原创 C++阶段总结第二部分
原力计划

第二部分 C++核心编程本阶段主要针对C++面向对象编写1,内存分区模型C++在程序执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放,存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收划分的意义:不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程1.1程序运行前未执行该程序前分为两部分代码区: 存放CP..

2020-07-03 22:05:50 1389 2

原创 六千字C++阶段总结第一部分,收藏夹预定,适合C/C++入门系统学习
原力计划

第一部分 C++基础入门1,C++初始1.1变量作用:给一段指定的内存空间起名,方便操作这段内存。语法:数据类型 变量名=初始值int a=10;1.2常量作用:用于记录程序中不可更改的数据两种方式#define 宏定义:#define 常量名 常量值(通常在文件上方定义,表示一个常量) const修饰的变量:const 数据类型 常量名=常量值(通常在变量定义前加上关键字const,修饰该变量为常量,不可更改)#define a 10const int .

2020-07-02 23:56:31 2217 8

原创 Linux下用epoll实现对网络的管理

一,epoll出现的目的 为了减少系统的资源消耗,如果所有连接的客户端都交给服务器端来进行管理,那么对于服务器端的压力会很大,因此需要找到一个新的东西来替代服务器进行管理。 此处就出现了epoll,类似于服务器的秘书。代替服务器管理所有连接的客户端。二,方法 epoll将所有连接的客户端都放到内部进行存储,为了更高的效率选用的红黑树(这个是底层实现)。然后再监听整个树中哪一个发信号了,就将发信号的方法ep信号数组中,然后再分析所发信号是什么。从而更好也更简单的对客户端进行管理。三...

2020-11-23 16:10:06 215 2

原创 Linux下使用TCP/IP实现网络通讯

TCP通讯服务器端步骤:创建socket, 调用socket函数,创建一个套接字lfd 绑定bind 用bind函数,讲lfd与地址号和端口号进行绑定 监听listen 使用listen函数讲套接字设为监听模式,等待客户端连接 接受accept accept接受到客户端连接,返回一个新的套接字cfd,然后lfd继续监听(并发的时候使用) 读read 通过read函数将客户端传过来的消息读出 回发write 通过write函数返回消息。(此时read,write一直循环来进行通讯)

2020-11-23 15:21:48 154 2

原创 Linux下使用信号量实现生产者消费者模型

了解信号量的基本特性,并用信号量实现生产者消费者模型

2020-11-18 20:42:00 164

原创 Linux下使用条件变量实现生产者消费者模型

认识什么是条件变量,并且知道其运行过程。用条件变量实现生产者消费者模型

2020-11-18 20:24:59 118

原创 Linux下读写锁的编写及相关问题

怎样进行读写锁的定义及编写,以及其与互斥锁的区别

2020-11-18 19:57:00 128

原创 Linux中线程互斥量的使用以及死锁

怎样定义使用互斥量以及死锁的解决方法

2020-11-18 19:34:42 110

原创 Linux下如何创建单个线程以及循环创建多个线程

Linux下创建单线程Linux下循环创建多个线程

2020-11-18 18:22:25 104

原创 Linux下怎样创建单个进程以及循环创建多个进程

Linux下创建单进程Linux下循环创建多个进程

2020-11-18 17:17:08 114

原创 Linux下不同目录下文件怎样编写代码

Linux下怎样进行多文件编写Linux不同目录下文件怎样进行编写

2020-11-18 16:55:12 112

原创 一篇读懂面向过程编程和面向对象编程的区别

面向过程编程:面向过程的编程是面向流程的,就是一步一步的按照过程来进行;它的最重要特点是函数,即把执行一件事的过程拆分成一个一个步骤,然后将这些步骤变为一个一个的子函数,然后通过主函数按照顺序调用这些子函数来完成整个事件。这些子函数需要按照事件的发展顺序,或者程序中代码的编写顺序一步一步的进行执行。面向对象编程面向对象的编程,它的主要特点是类,类是独立个体。即先将所有需要执行的功能或者函数拆分,然后进行分类,封装到不同的类中。程序执行的过程中,通过不同的类或类的对象来调用不同的函数来完成程序的运行

2020-10-24 16:38:39 138

原创 学会如何进行线程的调度

背景:当一个计算机是多道程序设计系统时,会不断产生进程和线程之间的切换,此时就要需要一种方法来从就绪队列中挑选一个进程/线程作为CPU将要运行的下一次进程/线程。调度程序:挑选进程/线程的内核函数内核运行调度程序的条件(满足一条即可):一个进程从运行状态切换到等待状态 一个进程被终结了不可抢占调度程序必须等待事件结束可以抢占调度程序在中断被响应后执行 当前的进程从运行切换到就绪,或者从一个进程从等待切换到就绪 当前运行的进程可以被换出...

2020-10-24 09:22:49 14

原创 单例模式:使用C++编写单例模式

概念:单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。即一个类只能产生一个对象。优点实例控制 单例模式会阻止其他对象实例化其自己的单例对象的副本,一个类只能创建一个对象,而创建的其他类也只是一个类通过指针或引用而来的,从而确保所有对象都访问唯一实例。 灵活性 因为类控制了实例化过程,所以类可以灵活更改实例化过程。缺点开销 虽然数量很少,但如果每次对象请求引用时都要检查是否存在类的实例,将仍然需要一些开销。可以通过使用静态初始化解决此问

2020-10-24 08:55:36 125

原创 C++11多线程中关于unique_lock的介绍

一:unique_lock取代lock_guard unique_lock是个类模板,工作中,一般使用lock_guard;lock_guard取代了mutex的lock()和unlock() unique_lock比lock_guard灵活很多,虽然效率上差一点,内存占用多一点二:unique_lock的第二个参数std::adopt_lock:表示这个互斥量已经被lock了(你必须把互斥量提前lock了,否则会报异常) std::adopt_lock标记的...

2020-10-23 20:19:03 14

原创 怎样用C++11创建多线程,以及当共享数据时关于互斥量和死锁的问题

使用容器的方法创建喝管理多线程把thresd的对象放到容器中,看起来像thread对象数组,使用这种方法对于我们一次创建大量线程并对其进行管理很方便互斥量 一,互斥量(mutex)的基本概念 互斥量是个类对象,理解成一把锁,多个线程尝试用lock()成员函数来加锁这把锁头,只有一个线程能锁定成功(成功的标志是lock()函数返回)死锁问题:举例: 比如我有两把锁(死锁这个问题,是由至少两个锁头也就是两个互斥锁才能产生):假设现在有金锁和银锁 两个线程a和

2020-10-22 16:52:15 132

原创 C++11创建简单线程

概念:主线程从main()开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数),一旦这个函数与运行完毕,就代表我们这个线程运行结束。整个进程是否执行完毕的标志是 主线程是否执行完,如果主线程执行完了,那么就代表整个进程执行完了一般情况下,如果其它子线程还没有执行完毕,那么这些子线程也会被操作系统强行终止一般情况下,我们得到一个结论;如果想要保持子线程(自己用代码创建的线程)的

2020-10-21 18:08:10 104

转载 Linux中如果Ping不通百度怎么办?自认为很好的一篇文章

这篇文章是我看到的感觉写的最好的一篇博客,分享给大家1,安装好之后,首先进行网络虚拟编辑器对网络进行编辑,网络虚拟编辑器的设置情况:编辑完毕之后应用就可以了。2, 切换到root3,查看网络文件名:如果你不知道网卡文件名,可以输入如下命令查看:ll /etc/sysconfig/network-scripts/ | grep ifcfg-en4,配置网络文件的情况:/etc/sysconfig/network-scripts文件名字:ifcfg-ens33TYPE=E

2020-10-20 17:04:03 207

原创 亲测有效:Linux的Centos7版本下忘记root或者普通用户密码怎么办?方法二

第一步:首先在登录界面按e进入:第二步:先将上面的ro更改为rw;然后在UTF-8后面加上init=/bin/sh第三步:按下Ctrl+c键,进入下一界面:第四步:假设我们将密码改为123456:则修改密码语句为:echo "123456"|passwd --stdin root输入如果后产生符号,则输入LANG=en可将符号变为英文然后输入touch /.autorelabel最后再输入exec /sbin/init重启系统,密码生效...

2020-10-20 15:54:59 8

原创 亲测有效:Linux的Centos7版本下忘记root或者普通用户密码怎么办?方法一

第一步:首先在登录界面按e进入:第二步:将上面的ro更改为:rw init = /sysroot/bin/sh第三步:按下Ctrl+c键,进入下一界面:第四步:依次输入:password rootLANG=enpasswd roottouch /.autorelabel最后再输入exit退出chroot,并输入reboot重启系统...

2020-10-20 15:24:52 15

原创 用Linux怎样编写C/C++代码

由于在编写进程时,一些进程的函数需要在Linux环境下才能运行,因此需要掌握基本的编译方法。第一步:安装C/C++编译器gcc、g++安装gcc编译器命令:yum -y install gcc安装g++编译器命令:yum -y install gcc-c++编写C语言程序:首先编写一个简单的Chello.c输入指令:vi Chello.c然后输入想要编写的程序:输入i进行编写;退出先按Esc,然后输入:wq!保存退出运行程序:输入下面两条指令,先将Ch

2020-10-15 15:58:23 155

原创 浅谈操作系统中——进程 && 线程

目录一,进程1,进程描述 1.1进程定义 1.2 进程的组成 1.3 进程的特点 1.4 进程控制结构2,进程管理 2.1 进程的生命期管理2.2 进程状态变化模型 2.3 进程挂起模型二,线程1,线程的定义2,线程的实现3,上下文切换

2020-10-15 14:28:25 125

原创 PHP中关于数组的操作

一,数组的定义:$test1=array('1','2','3','4'); //第一种$test2=['1','2','3','4']; //第二种$test3[]=1; //第三种$test3[2]=2;二,数组的遍历方式一:$k代表数组的键,$v代表数组的值foreach($test1 as $k => $v){ echo $k.' '.$v.'<br>';}方式二:...

2020-09-20 18:33:32 115

原创 Leetcode:645. 错误的集合

645. 错误的集合集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入: nums = [1,2,2,4]输出: [2,3]注意:给定数组的长度范围是[2, 10000]。 给定的数组是无序的。题解:class...

2020-09-20 10:44:34 7

原创 PHP中的输出语句

(1)echo()echo可紧跟其后的一个或多个字符串,表达式,变量和常量的值输出到页面中,多个数据之间使用逗号“,”分割。但是对于bool型,true输出1,false输出空。(2)printf()print与echo的用法类似,唯一的区别是printf只能输出一个值。(3)printf_r()printf_r()是PHP的内置函数,它可以输出任意类型的数据,如字符串,数组等。(4)var_dump()var_dump()不仅可以打印一个或多个任意类型的数据,还可以获取数据

2020-09-20 09:29:50 26

原创 Leetcode:3,无重复字符的最长子串 (滑动窗口)

3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 ...

2020-09-19 08:44:21 9

原创 Leetcode: 414. 第三大的数(数组的遍历)

414. 第三大的数给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。存在两个值为2的数,它们都排第二。题解

2020-09-18 19:42:19 19

原创 Leetcode: 485. 最大连续1的个数 (数组的遍历)

485. 最大连续1的个数给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含0和1。 输入数组的长度是正整数,且不超过 10,000。题解:class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { ..

2020-09-18 15:36:29 6

原创 Leetcode:19. 删除链表的倒数第N个节点(C++)

19. 删除链表的倒数第N个节点难度中等题目:给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.题解:使用双指针的方法进行解题。class Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) {..

2020-09-17 09:42:39 6

原创 Acwing:785. 快速排序

785. 快速排序给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5题解:#include<.

2020-09-15 21:50:26 7

原创 Acwing:787. 归并排序

787. 归并排序给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式:输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。输出格式:输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5题解:#include&l.

2020-09-15 21:44:50 19

原创 关联容器

关联容器支持高效的关键字查找和访问,两个主要关联容器类型:map和set。map:”关键字—值“,关键字起到索引作用,值则表示与索引相关联的数据。set:“关键字”,支持高效的关键字查询操作。关联容器提供的八个容器:主要体现三个维度:或者是一个set,或者是一个map 或者要求不重复的关键字,或者允许重复的关键字。(以multi开头) 按顺序保存元素,或无序保存。(以unordered开头)按关键字有序保存元素:(头文件为map和set)map 关联数组:保存关键字—值对

2020-08-22 05:45:46 16

原创 当类中有指针时的拷贝构造函数和拷贝赋值运算符

首先我们了解什么是拷贝构造函数和拷贝赋值运算符拷贝构造函数:如果一个构造函数的第一个参数时自身类类型的引用,且任何额外参数都有默认值,则此构造函数是拷贝构造函数。class Test{public: Test(); //默认构造函数 Test(const Test&); //拷贝构造函数 //........};此处必须为引用的原因:如果此处为值传递,则想要进行拷贝的步骤,则首先需要将实参传递到形参,而此过程中就是实参拷贝...

2020-08-18 23:30:48 63

原创 你学会lambda表达式了吗???

lambda表达式一个lambda表达式具有一个返回类型,一个参数列表和一个函数体;和函数不同,lambda定义在函数内部表达式形式: [capture list](parameter list)->return type{ function body} //捕获列表 参数列表 返回类型 函数体可以忽略参数列表和返回类型,但是必须永远包含捕获列表和函数体eg: auto f = [ ]{return 5; };...

2020-08-17 21:12:55 152

原创 sting流:istringstream,ostringstream,stringstream。教会你str()和clear()的区别

istringstream#include<iostream>#include<string>#include<sstream>using namespace std;int main(){ string a, b; a = "asdas asdas asdfasd fdgbtrhh"; istringstream stream(a); while (stream >> b) { cout << b <<

2020-08-16 11:38:26 77

原创 从七月初至今,一个半月我做了什么???

大概的时间流水线从七月初开始重新学习C++,根据博客时间:第一段:7.1->7.13,把C++整体学了一遍,总共发了五篇博客。中间经历了一些其它的事,所以SQL Server学了好久:第二段:7.14->7.23,把SQL整体学了一遍,写了两篇博客。 第二.一段:7.16->7.21,由于学校的一些问题原因,几天没有学习。如果没记错,接下来是学习linux:第三段:7.23->7.27,网上linux视频看了四五十节。没有写一篇博客。接下来做学长推荐的项目:

2020-08-16 00:20:05 3327 13

原创 类的静态成员与静态成员函数

声明静态成员使用类的静态成员定义静态成员静态成员的类内初始化静态成员能用于某些场景,而普通函数不能

2020-08-14 22:49:54 742

hiredis-master.zip

hiredis-master.zip资源包下载

2020-08-01

rarlinux-x64-5.9.1.tar.gz

rarlinux-x64-5.9.1.tar.gz安装包,从而使用linux中可以使用.rar解压

2020-08-01

YunDisk.rar

YunDisk.rar 中关于linux东西的下载,非常适合下载

2020-08-01

Zlib128TarGz.rar

Zlib128TarGz.rar下载

2020-08-01

餐厅点餐系统.zip

餐厅点餐系统,分为前台和后台两部分,前台有点菜的增删改查等,后台有菜品以及菜品定价的一些功能等,只有一千多行代码,勉强能看

2020-05-20

黑白棋人人对战实现(人机,网络暂不可用,自行编写)

黑白棋人人对战实现,人机对战感觉写出来是智障人机,就没写,网络对战暂时还不会,准备放置一段时间,没写的部分可以自行补充,加油

2020-05-05

服务器以及客户端.zip

QT中关于服务器端和客户端的代码编写,可以连接并发送数据。

2020-04-26

qtcreator.exe

网上一直循环不能关闭的小程序提升版,可以显示图片,简单的整蛊小程序,下载下载下载下载。

2020-04-18

空空如也

空空如也

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

TA关注的人 TA的粉丝

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