自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++Socket网络通信多路复用

C++Socket网络通信多路复用1.select可以在windows上面使用!服务端:/* * @Description:SOCKET * @Author: szq * @Github: https://github.com/MrQqqq * @Date: 2020-06-26 00:04:39 * @LastEditors: szq * @LastEditTime: 2020-06-26 00:04:39 * @FilePath: \cpp\src\BinaryTree\clien

2020-08-19 09:14:48 884

原创 C++中引用vector中元素会出现的问题

C++中引用vector中元素会出现的问题直接上一个示例:/* * @Description: * @Author: szq * @Github: https://github.com/MrQqqq * @Date: 2020-08-18 16:11:29 * @LastEditors: szq * @LastEditTime: 2020-08-18 16:16:51 * @FilePath: \cpp\src\test.cpp */#include<vector>#i

2020-08-18 16:25:38 2674

原创 C++算法中计算相关的函数

C++算法中计算相关的函数accumulate:累加函数。inner_product:内积函数。partial_sum:部分求和函数。adjacent_difference:相邻两个元素差函数。上面几个函数功能都是默认的,但是在使用中可以根据自己的需要修改它的功能。如下示例中:/* * @Description: 对算法中numeric中函数的一些测试和使用 * @Author: szq * @Github: https://github.com/MrQqqq * @Date: 20

2020-08-11 22:45:42 3391

原创 Linux后台研发命令总结

Linux后台研发命令总结1.系统相关查看手册命令:man ls #查看ls手册只查看当前下一级目录占用大小du --max-depth=1 -h #-h选项表示以人类的方式显示查看某个进程是否在运行ps -ef | grep prog | grep -v greppgrep prog 查看内存统计free -m查看系统任务运行情况top #按shift+m是按照内存排序,Shift+p是按照CPU排序查看系统CPU占用情况mpstat -

2020-07-13 13:10:37 217

原创 GitHub分支管理

GitHub分支操作一:查看1.查看本地分支git branch2.查看远程分支git branch -r3.查看所有的分支git branch -a二:创建分支1.创建本地分支git branch szq #szq是分支名,换成你自己的分支名2.切换到新创建的分支git checkout szq #szq换成你自己的分支名3.将新分支push到githubgit push origin szq #szq换成你自己的分支名三:删除分支git branch -d

2020-07-09 17:08:30 405

原创 C++实现KNN算法

C++实现KNN算法、/* * @Description: C++实现KNN算法 * @Author: szq * @Github: https://github.com/MrQqqq * @Date: 2020-07-08 19:13:25 * @LastEditors: szq * @LastEditTime: 2020-07-09 16:50:55 * @FilePath: \cpp\src\KNN\KNN.cpp */ #include<iostream>#inc

2020-07-09 16:55:42 1354 3

原创 GitHub项目邀请(添加)成员

GitHub项目邀请(添加)成员1.创建项目仓库这一步很简单,直接跳过2.点击Settings ----> 点击Manage access ---->点击下面的Invite a collaborator.3.在弹出的窗口中输入要邀请成员的用户名或者邮箱,下面会出现备选项4.选中你要邀请的成员,点击下面绿色按钮5.等待成员同意邀请就可以了...

2020-07-08 23:06:39 21559

原创 决策树的基本概念以及使用C++实现

决策树的基本概念以及使用C++实现**写在前面:**有关概念参照的是周志华的西瓜书。想详细了解的话可以再去看看西瓜书。1.决策树的基本概念决策树是一类常见的机器学习方法。决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时通常会进行一系列的判断或“子决策”。决策树是一个类似于流程图的树结构:其中每个内部节点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶节点代表类或者类分布。树的最顶层是根节点。1.1 熵概念1948年,香农提出了 ”信息熵(entropy)“的概念,一条信息的

2020-07-08 17:25:17 3227

原创 C++实现生产者和消费者问题(linux环境下)

/* * @Author: szq * @Date: 2020-07-06 18:13:23 * @Last Modified by: szq * @Last Modified time: 2020-07-06 19:19:25 * @Descripution:在Linux上面实现生产者和消费者问题 *//** * 问题描述:生产者向缓冲区中添加数据,消费者从缓冲区中拿数据。缓冲区这里设置为5. * 限制条件:1.同时只能有一个生产者向缓冲区中添加数据,并且当缓冲区满的时候,不能再

2020-07-06 19:22:24 759

转载 计算机网络

计算机网络分享一个很好的博客OSI,TCP/IP,五层协议的体系结构,以及各层协议1)物理层(Physical Layer)激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。**该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。**物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。2)数据链路层(Data Link Layer)数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的

2020-07-05 15:35:38 1769 1

原创 C++堆排序

C++堆排序图解排序算法(三)之堆排序1.堆排序的概念堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种**选择排序,**它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。大顶堆:每个节点的值都大于其左右孩子节点的值。小顶堆:每个节点的值都小于其左右孩子节点的值。2.堆排序基本思想与步骤堆排序的基本思想是:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这

2020-07-04 22:52:22 451

原创 C++实现银行贷款等额本息和等额本金还款

C++实现银行贷款等额本息和等额本金还款1.等额本金概念:等额本金就是每个月还款的本金是相同的,即为贷款金额/贷款月数。计算公式:B=Amonths+a∗rateB = \frac{A}{months} + a * rateB=monthsA​+a∗rate其中B表示当前月的还款额,A表示贷款总额,months表示贷款总月数,a表示剩余本金,rate表示月利率。2.等额本息概念:等额本息是每个月利息和本金加起来的金额相等。计算公式为:B=A∗i∗(1+i)n(1+i

2020-07-01 12:04:14 3255 1

原创 C++删除指定文件夹下面的指定后缀的文件

C++删除指定文件夹下面的指定后缀的文件1.boost的安装和使用参考我的另一篇博客boost的安装和使用2.使用boost的filesystem#include<boost/filesystem.hpp>#include<iostream>using namespace std;using namespace boost::filesystem;int main() { string dirpath = "C:\\Users\\86151\\Desktop\

2020-06-21 20:53:05 1759

原创 boost库的安装和使用

boost库的安装和使用1.下载https://www.boost.org/直接下载压缩包即可,然后将压缩包解压到你自己想解压的地址。2.安装打开解压后的文件夹,运行文件夹下的bootstrap.bat,会生成一个.exe文件,可能是bjam.exe,也有可能是b2.exe。运行生成的bjam.exe或者b2.exe,会生成相应的文件最后我的文件夹下面是这样的:3.使用我使用的VS2017。创建项目右击项目打开属性页点击最下面的属性。在附加包含目录中添加boost库

2020-06-21 20:49:14 6873 4

原创 C++中struct和class的区别

C++ 中struct和class的区别struct和class定义类的时候,仅仅是形式上有所不同,实际上我们可以使用这两个关键字中的任何一个定义类。唯一的一点区别是,struct和class的默认访问权限不太一样。使用class定义一个类,类可以再它的第一个访问说明符之前定义成员,对这种成员的访问权限依赖于类定义的方式。对于class定义的类来说,在没有访问权限说明的时候,其默认的访问权限是private;而对于struct定义的类来说,其默认的访问权限是public。...

2020-05-14 18:55:47 171

原创 本地仓上传github仓库

本地仓库文件上传Github仓库1.在Github上创建一个仓库步骤简单,这里省略。2.本地项目文件夹操作进入本地要上传文件文件夹cd 目标文件夹初始化本地仓git init向仓库中添加当前文件夹下所有文件git add .提交添加git commit -m "备注信息"关联远程库git remote add oringin 远程仓库地址和远程仓库文件同步(如果没有这一步,后面push会报错)git pull origin master --a

2020-05-13 05:35:55 239

原创 上传文件到github

上传文件到github仓库1.创建github账号并下载git点击这里直接去官网注册下载并安装git2.新建一个仓库这一步比较简单,节省时间不展开介绍。3.上传文件下载仓库:git clone 仓库地址进入项目cd 上一步多出的文件夹名添加要上传的文件将要上传的文件拷贝到该文件夹下,然后添加文件,指令如下:git add .提交git commit -m "提交的信息"pushgit push -u origin master...

2020-05-13 04:35:08 183

原创 C++随机数

C++随机数1.随机数rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数为基准以某个递推公式推算出来的一系列数,当这一系列书很大的时候,就符合正态分布,从而相当于产生了随机数,但不是真正的随机数。2.rand()函数功能:返回一个随机数用法:int rand(void);头文件:stdlib.h注意:用户未设定随机种子时,系统默认的随机数种子为1.rand()产生的是伪随机数,每次执行时是相同的;若要不同,用srand()初始化随机数种子。3.sr

2020-05-13 03:50:17 711

转载 操作系统

操作系统一、概述基本特征并发、共享、虚拟、异步基本功能1.进程管理进程管理、进程同步、进程通信、死锁处理、处理机调度2.内存管理内存分配、地址映射、内存保护和共享、虚拟内存3.文件管理文件存储空间的管理、目录管理、文件读写管理和保护4.设备管理完成用户IO请求、方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理、虚拟设备等终端类型外中断异常陷入二、进程管理1.进程资源分配的基本单位进程控制块(PCB):描述进程的基本信息和运行状态,所谓

2020-05-10 10:49:37 193

原创 C++中内联函数和宏定义

C++中内联函数和宏定义1.内联函数针对的对象​ 一般来说内联机制用于优化规模较小、流程直接、频繁调用的函数。2.为什么要将函数设置为内联函数​ 内联函数可避免函数调用的开销。调用函数一般比求等价表达式的值要慢一些。在大多数机器上,一次函数调用其实包含着一系列工作:调用前要先保存寄存器,并在返回时恢复,可能需要拷贝实参、程序转向一个新的位置继续执行。将函数指定为内联函数(inline)通常...

2020-05-08 15:38:34 333

原创 C++预处理命令

C++预处理命令1. #,### 和 ## 操作符是和#define宏使用的. 使用# 使在#后的首个参数返回为一个带引号的字符串. 例如, 命令 #define to_string( s ) # s将会使编译器把以下命令 cout << to_string( Hello World! ) << endl;理解为 cout <&l...

2020-05-08 01:01:35 484

原创 python中整数的最大值和最小值

python中整数的最大值和最小值python中没有像C++中定义最大值和最小值,但是可以获取到。1.最大值import sysmax_num = sys.maxsizeprint(max_num) #结果为92233720368547758072.最小值import sysmin_num = -sys.maxsize - 1print(min_num) #结果为-92...

2020-05-08 00:52:24 6979

原创 C++中异常处理

C++中异常处理1.什么是异常?​ 异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。当程序的某部分检测到一个它无法处理的问题是,需要用到异常处理。2.异常处理的三个组成部分throw:异常检测部分使用throw表达式来表示它遇到了无法处理的问题。简单的说是throw引发了异常。try:异常处理部分使用try语句块处理异常。try语句块以关键字try开始,并以一个或多个...

2020-05-08 00:51:29 799

原创 C++中处理类型

C++中处理类型一、为什么要处理类型​ 随着程序越来越复杂,程序中用到的类型也越来越复杂,复杂体现在两个方面。一是一些类型难于拼写,名字既难记有容易拼错,还无法明确体现其真实目的和含义;二是有时候根本搞不清到底需要的类型是什么,程序员不得不回过头从程序上下文中寻求帮助。二、类型别名1.传统方法:typedef例子:typedef unsigned int size_t //这是C++中...

2020-05-04 04:38:48 206

原创 C++中变量的大小和字节对齐

C++中变量的大小(包含C++字节对齐知识点)一、基本数据类型变量类型大小bool1char1wchar_t2char16_t2char32_t2short2int4long4long long4float4double8long double84和操作系统有关,32位...

2020-05-04 03:24:38 759

原创 C++中日期和时间

C++中日期和时间1. chrono库参考文献:c++11中的日期和时间库chrono库主要包含三种类型:duration(时间间隔)、clock(时钟)、time_point(时间点)Duration表示一段时间,只要能换算成秒即可template <class Rep,class Period = ratio<1> > class duration解...

2020-05-03 19:26:57 762

原创 C++随笔之assert

C++随笔之assert头文件:assert.h函数函数功能void assert(int expression)判断expression的逻辑真假,如果为false,就会在stderr上面打印一条包含表达式、文件名、行号的错误信息,然后调用abort结束整个程序示例:#include <iostream>#include <a...

2020-05-02 15:29:08 133

转载 C++设计模式参考目录

C++设计模式参考目录简单工厂模式工厂模式抽象工厂模式单例模式建造者模式原型模式适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式职责链模式命令模式解释器模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式访问者模式模板方法模式原文链...

2020-05-02 13:37:09 141

原创 redis学习笔记

redis学习笔记一.安装(ubuntu)sudo apt-get updatesudo apt-get install redis-server检测是否安装成功:#启动服务器redis-server#启动客户端redis-cli #显示127.0.0.1:6379>  解释:127.0.0.1是本机ip,6379是服务端口#测试pingping #显示PONG,...

2020-05-02 13:33:52 138

原创 FFMPEG学习笔记之视频的编解码

FFMPEG视频编解码文章目录FFMPEG视频编解码1.视频解码流程1.官方解码示例2.视频编码流程1.官方视频编码示例1.视频解码流程1.官方解码示例流程:1.查找解码器avcodec_find_decoder(enum AVCodecID)2.初始化解析器av_parser_init(enum AVCodecID)3.初始化解码上下文avcodec_alloc_context3(...

2020-02-27 02:46:01 617

转载 FFMPEG编码相关参考博客

https://blog.youkuaiyun.com/leixiaohua1020/article/details/42181271

2020-02-24 01:18:04 152

转载 QT中QString类型和char数组相互转换

#include <QDebug>int main(){ char path[50]; QString str = "D:\\搜狗高速下载\\weka-3-8-3jre-x64.exe"; QByteArray ba = str.toLocal8Bit(); memcpy(path,ba.data(),ba.size()+1);//加1是为了最后的...

2020-02-21 02:45:36 6899 3

原创 QT中widget相关控件

QT中widget相关控件的简单示例1.QListWidget//创建一个QListWidget对象 QListWidget *listWidget = new QListWidget(this);//调整控件大小listWidget->resize(200,100);//创建一个QListWidgetItem对象QListWidgetItem *item = new QLis...

2020-02-19 15:03:56 696

原创 解决QT中有中文编译不通过的问题

解决QT中有中文编译不通过的问题​ 在使用QT进行开发的过程中,遇到了代码中含有中文,然后编译的时候报错的情况,在网上查找资料终于找到了解决方法,这里我也记录一下,方便以后自己查看的同时也希望能帮助到遇到相同问题的同学。1.工具2.选项3.文本编辑器->行为->默认编码->UTF-8 BOM->ok做完上面的操作然后再次编译项目,会发现成功解决了中文不能通过...

2020-02-18 23:46:40 3706

原创 QT中对话框的操作

QT中对话框的操作1.对话框的分类模态对话框(不可以对其他窗口进行操作)非模态对话框(可以对其他窗口进行操作)2.模态对话框的创建//创建一个按钮,可以通过点击按钮实现打开一个模态对话框QPushButton *btn_open_dialog = new QPushButton("打开一个对话框",this);connect(btn_open_dialog,&QPushB...

2020-02-18 23:32:23 491

原创 QT中添加资源文件

QT中添加资源文件步骤:将图片文件拷贝到项目位置下右键项目->添加新文件->QT->Qt recourse File ->给资源文件起名res生成res.prcopen in edit 编辑资源添加前缀 添加文件使用 ”:+前缀名+文件名“...

2020-02-18 20:43:25 184

原创 QT菜单栏的操作

QT菜单栏的操作1.菜单栏的创建//创建一个菜单栏,最多可以有一个QMenuBar *bar = menuBar();//将菜单栏放入窗口中setMenuBar(bar);2.创建菜单//创建一个菜单栏QMenuBar *bar = menuBar();//将菜单栏放入窗口中setMenuBar(bar);//创建菜单bar->addMenu("文件");bar...

2020-02-18 20:09:55 2274

原创 QT自定义信号和槽

QT自定义信号和槽1.自定义信号自定义信号需要写到signals下面。返回值是void,只需要声明,不需要实现。可以有参数。2.自定义槽函数早期QT版本,必须写到public slots,高级版本可以写到public或者全局下f返回值void,既要声明也要定义可以有参数,可以发生重载3.连接connect(信号触发对象,信号,信号接收对象,槽函数);4.触发信号em...

2020-02-18 17:47:44 1238

原创 FFMPEG将YUV图片生成视频

FFMPEG将YUV图片生成视频1.基本步骤查找编码器AVCodec,函数为av_codec_find_encoder()或者av_codec_find_encoder_by_name()根据编码器创建编码器上下文AVCodecContext,函数为avcodec_alloc_context3()分配AVPacket内存空间(AVPacket保存数据包),函数为av_packe...

2020-02-16 01:22:23 1302

原创 CMake编写

CMake编写学习笔记在学习c++的过程中,不可避免的会使用到cmake。cmake的亮点在于编译复杂项目上的应用,是一个跨平台的Makefile生成工具。那么在一个项目的建构中,你是否读得懂别人写的cmake文件呢?你要在别人的cmake文件基础上加上自己的内容又要如何编写cmake文件呢?因此,学习自己手动编写cmake文件是一个不得不进行的一个工作。下面是参考一些博客自己学习的笔记:参...

2020-01-05 15:24:21 1607

MTCNN_Project.zip

使用python写的一个深度学习项目,用的神经网络是MTCNN,通过识别出人脸的关键点位置,再使用仿射变换将准备好的贴纸自动融合进人脸位置。

2020-05-10

空空如也

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

TA关注的人

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