自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows平台配置go+vscode开发环境

工作原因开始学习go语言,学习之初对goroot、gopath搞的有点烦,后来发现没有必要。1.14版本之后,使用共go mod模式管理依赖环境,对于初学者方便多了,不用花太多心思在这些环境配置上。windows平台直接下载镜像文件安装即可。Go官方镜像站(推荐):Downloads - The Go Programming LanguageGolang推荐使用go mod管理依赖,而默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,国内访

2022-04-19 19:13:42 243

原创 关于cmake与vscode进行调试时lanch.json与task.json文件的配置

lanch.json配置{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "g++ - 生成和调试活动文件", "type": "c

2021-10-05 15:54:44 1390

原创 关于STL中通过迭代器删除容器中的元素

// list list<int> dataList = { 1,2,3,4,5,6,7,8,9 }; for (auto iter = dataList.begin(); iter != dataList.end();) { dataList.erase(iter++);//下面这种方式也可以 //iter = dataList.erase(iter); }// map map<int, int> dataMp = { {1,2},{3,4},..

2021-09-21 17:15:15 244

原创 顺序统计树(OS树)

OS树的本质市对红黑树这种数据结构的简单扩张,在每个节点中又加入了x.size属性,表示以x为跟的子树中节点的个数(包括根节点x本身)显然有 x.size = x.left.size+x.right.size+1;OS树的目的就是为了实现在O(lgn)的时间内来进行顺序统计量的查询1)查找给定秩的元素,OS-SELECT(x,i)返回一个指针,指向以x为根的子树中包含第i个关键字的节点。OS-SELECT(x,i)r = x.left+1;if r==i return x;..

2020-12-25 15:18:40 1024

转载 分治法、动态规划、贪心算法的区别与联系

1.分治法算法思想:将原问题划分成若干个规模较小而结构与原问题相似的子问题,递归的解决这些子问题,然后再合其结果,就得到原问题的解特征:该问题的规模缩小到一定的程度就很容易解决 该问题可以分解为若干个规模较小的相同问题,即改问题具有最优子结构性质 利用该问题分解出的子问题的解可以合并为该问题的解; 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题分治模式在每一层递归上都有三个步骤:分解(Divide):将原问题分解成一系列子问题; 解决(conquer):递归

2020-12-25 14:23:46 3287

原创 P、NP、NP-hard、NPC之间的区别

P问题:多项式时间内可求解问题。NP问题:多项式时间内可验证的问题。NPC(NP Complete问题): 即,首先L为NP问题,且所有的NP问题均能在多项式时间内规约到该问题。NP-hard问题:只需满足上面的条件2,即如果所有的NP问题均能在多项式的时间内归约到该问题,则该问题就是NP-hard问题。...

2020-12-25 13:26:29 264

转载 宏定义 #和 ##运算符的区别

#运算符将一个宏的参数转换为字符串字面量。它仅允许出现在带参数的宏的替换列表中。(一些C程序员将#操作理解为“stringization(字符串化)”;其他人则认为这实在是对英语的滥用。)#运算符有大量的用途,这里只来讨论其中的一种。假设我们决定在调试过程中使用PRINT_INT宏作为一个便捷的方法,来输出一个整型变量或表达式的值。#运算符可以使PRINT_INT为每个输出的值添加标签。下面是改进后的PRINT_INT:#define PRINT_INT(x) printf(#x " = %d\n.

2020-09-24 08:48:24 262

转载 函数式宏定义与普通函数的区别

尽管函数式宏定义和普通函数相比有很多缺点,但只要小心使用还是会显著提高代码的执行效率,毕竟省去了分配和释放栈帧、传参、传返回值等一系列工作,因此那些简短并且被频繁调用的函数经常用函数式宏定义来代替实现在C及C++语言中允许用一个标识符来表示一个字符串,称为宏,该字符串可以是常数、表达式、格式串等。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。若字符串是表达式,我们称之为函数式宏定

2020-08-31 16:33:46 597

转载 C++ explicit关键字详解

对于VS的编译器来说,拷贝构造函数如果带explict关键字,直接编译失败

2020-08-31 10:18:55 88

转载 c++中nullptr

C++中为了避免“野指针”(即指针在首次使用之前没有进行初始化)的出现,我们声明一个指针后最好马上对其进行初始化操作。如果暂时不明确该指针指向哪个变量,则需要赋予NULL值。除了NULL之外,C++11新标准中又引入了nullptr来声明一个“空指针”,这样,我们就有下面三种方法来获取一个“空指针”:如下:int *p1 = NULL; // 需要引入cstdlib头文件int *p2...

2020-04-29 10:27:18 801

原创 关于linux下pipe管道的用法

管道主要用于进程之间的通信,而pipe管道主要用于具有亲戚关系的进程之间进行通信,也叫匿名管道。以下是几个测试demo1,通过主进程作媒介来实现两个子进程之间的通信思路:主进程与两个子进程之间分别建立管道,一个用于从子进程输入数据到主进程,另一个管道用于从子进程输出数据到另一个子进程,代码如下:#include <unistd.h>#include <stdio.h...

2020-04-16 11:39:09 466

转载 进程的同步与通信,进程与线程同步的区别,进程与线程通信的区别

进程的同步与通信,进程与线程同步的区别,进程与线程通信的区别2013-08-10 15:45:31这两天看进程的同步与通信,看了几本书上的介绍,也从网上搜了很多资料,越看越迷惑,被这几个问题搞得很纠结。进程同步与互斥的区别? 进程的同步方式有哪些? 进程的通信方式有哪些? 进程同步与通信的区别是什么? 线程的同步/通信与进程的同步/通信有区别吗?在好多教材上(包括国内与国外的...

2020-04-07 22:47:38 360

原创 C++中减少内存拷贝的小技巧

1,在函数参数中使用&来代替,避免在调用函数时进行拷贝构造class CTset{public: CTset() { cout << "construct a CTest" << endl; } CTset(const CTset& A) { cout << "Cop...

2020-04-07 11:00:58 1691

转载 C语言中>> 、&、|的实际用途

一、运算符的含义运算符 含义 描述 << 左移 用来将一个数的各二进制位全部左移N位,高位舍弃,低位补0。 >> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0。 & 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。 l 按位或 两个...

2020-03-25 10:04:58 1125 4

转载 C++11右值引用和std::move语句实例解析

C++11右值引用和std::move语句实例解析关键字:C++11,右值引用,rvalue,std::move,VS 2015OS:Windows 10右值引用(及其支持的Move语意和完美转发)是C++0x加入的最重大语言特性之一。从实践角度讲,它能够完美解决C++中长久以来为人所诟病的临时对象效率问题。从语言本身讲,它健全了C++中的引用类型在左值右值方面的缺陷。从库设计者...

2020-03-19 22:02:11 517

原创 ffmpeg视频滤镜中英文对照

对这位仁兄的博客的基础上根据最新的ffmpeg进行了补充https://www.cnblogs.com/nlsoft/p/5195172.htmlVideo Filters视频滤镜 ... addroi V->V Mark a region of interest in a video frame. ...

2020-03-16 16:22:55 2157 1

转载 如何为FFmpeg添加自定义滤镜

收藏一下大佬的博客,研究下

2020-03-13 14:59:28 323

转载 关于#define宏定义中 ## # #@ \等的用法

C/C++ 宏命令的神奇用法。先看下面三条语句:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x1. ## 连接操作符##表示连接(token pasting, or token concatenation,merge two tokens into one while expa...

2020-03-11 15:12:26 411

转载 c结构体初始化不写结构体变量名

定义struct InitMember{int first;double second;char* third;float four;};1234567方法一:定义时赋值struct InitMember test = {-10,3.141590,“method one”,0.25};1需要注意对应的顺序,不能错位。方法二:定义后逐个赋值struct In...

2020-03-11 15:09:45 377

转载 fflush(stdin)与fflush(stdout)

1.fflush(stdin):作用:清理标准输入流,把多余的未被保存的数据丢掉。。如:int main(){ int num; char str[10]; cin>>num; cout<<num<<endl; cin>>str; cout&...

2020-03-10 17:44:23 166

转载 av_image_get_buffer_size 与 av_image_fill_arrays

一、intav_image_get_buffer_size(enumAVPixelFormat pix_fmt,intwidth,intheight,intalign);函数的作用是通过指定像素格式、图像宽、图像高来计算所需的内存大小重点说明一个参数align:此参数是设定内存对齐的对齐数,也就是按多大的字节进行内存对齐。比如设置为1,表示按1字节对齐,那么得到的结果就是与...

2020-03-10 16:55:31 4410

转载 linux的可执行文件是什么后缀

一般没有后缀,linux一般可以自动识别文件类型,有很多类型都不用加后缀。只要设了执行权限,有elf文件头,就可以看成可执行文件,要是纯文本文件也可以看成是可执行的脚本。一部分下载的商业软件安装程序之类的可执行文件有.bin的后缀。有些时候可执行文件的后缀名为.out。Linux下的后缀名并没用windows下那么有用,Linux不根据扩展名判断文件类型,而是根据文件的内容来判断。所以扩展名的作...

2020-03-05 09:32:26 12793 1

转载 OpenGL坐标系统相关

OpenGL中涉及到坐标转换的过程主要在顶点着色器中,相关的坐标系有局部坐标系、世界坐标系、观察坐标系、裁剪坐标和屏幕坐标。结合下面的图说明每步转换的意义。1,局部坐标即物体的内部坐标,比如我们以正方形的中心为原点画正方形,中心就是局部坐标的原点。2,整个世界空间中可能有多个物体,整个世界空间只有一个坐标原点,正方形在世界空间中的坐标即为世界坐标,由局部坐标到世界坐标的转换通过与...

2020-03-04 22:03:53 93

原创 glfw+glew创建窗口

最近比较闲,就学习了OpenGL的相关教程。但是在刚开始学习就出现了问题,使用glfw创建窗口时一直返回空指针,代码如下:#include <GL/glew.h>#include <GLFW/glfw3.h>#include <iostream>int main(){ glfwInit(); glfwWindowHint(GLFW_CONTEX...

2020-02-14 22:05:30 344

原创 TCP socket客户服务器模式

下面是大致的思路,具体细节及参数可查看相关函数Server.cpp#include <WinSock2.h>#include <iostream>//#pragma comment(lib,"WS2_32.lib")#define BUF_SIZE 64int main(){ // 用于初始化socket WSADATA...

2019-07-17 22:51:31 168

转载 tmain和main区别

_tmain()是unicode版本的的main()_tmain这个符号多见于VC++创建的控制台工程中,这个是为了保证移植unicode而加入的(一般_t、_T、T()这些东西都和unicode有关系),对于使用非unicode字符集的工程来说,实际上和main没有差别(其实就算是使用unicode字符集也未必有多大的差别)。1。 main是C程序的函数,_tmain是main为了...

2019-07-16 22:23:45 162

空空如也

空空如也

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

TA关注的人

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