自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

原创 Onvif soap库使用辅助类

onvif gsoap API调用辅助接口

2023-10-20 15:27:34 172

原创 GSOAP编译,并生成ONVIF框架

使用gsoap生成onvif框架的详细过程

2023-10-20 15:15:32 346

原创 算法库(c++)

算法库原文如下:算法库提供大量用途的函数(例如查找、排序、计数、操作),它们在元素范围上操作。注意范围定义为[first, last),其中last指代要查询或修改的最后元素的后一个元素。 受约束算法 C++20 在命名空间std::ranges中提供大多数算法的受约束版本,能以迭代器-哨位对或单个range参数指定范围,并且支持投影和指向成员指针可调用对象。另外更改了大多数算法的返回类型,以返回算法执行过程中计算的所有潜在有用信息。 std::vecto...

2021-05-11 14:37:22 2865

原创 Parameter pack(形参包)

形参包分两种:模板形参包 函数模板形参包模板形参包出现于别名模版、类模板、变量模板及函数模板形参列表中,简单说就是跟在template关键字后面尖括号<>里的东西语法: 类型 ... Args(可选) (1) typename|class ... Args(可选) ...

2021-05-10 16:06:55 1724

原创 optional、tuple、any、variant

std::optionaloptional适合用于函数返回值,当返回值为空时,optional将不会消耗额外的内存空间。构造: std::optional<int> op = std::nullopt; std::optional<std::string> op1 = { "123" }; // std::in_place指明直接调用std::string("consruct")构造std::string对象 std::optional<std:

2021-05-06 15:23:54 613

原创 锁(mutex)使用(c++11、c++14、c++17)

新的C++版本提供了以下锁: mutex (C++11) recursive_mutex (C++11) shared_mutex (C++17) timed_mutex (C++11) recursive_timed_mutex (C++11...

2021-04-29 13:56:53 2903 2

原创 C++ format格式化输出字符串简单版实现

本实例基于C++11的可变长参数实现:#include <iostream>#include <sstream>#include <string>static void _format_help( std::ostringstream& os, const std::string& format, std::size_t offset){ os << format.substr(offset, format.size(

2021-04-28 11:23:37 1823

原创 Linux sed命令介绍

sed:sed会根据脚本命令来处理文本文件中的数据。sed命令每次读取一行sed命令默认不会修改源文件sed命令默认会将结果输出到标准输出sed默认语法: sed [-nhVi] [-e 'script'] [-f 'script'] [文本文件]sed有如下参数:-e:指定后面的是命令,用''包括-f:从文件读取命令-n:不输出到控制台-i:会修改源文件-h:显示帮助-V:显示版本在sed的脚本命令中,有如下动作:a:在新行新增字符串c:取代指定行的字符串d:删除

2021-04-26 11:16:54 270

原创 Poco Json使用示例

#include "Poco/JSON/JSON.h"#include "Poco/JSON/Array.h"#include "Poco/JSON/Parser.h"#include "Poco/JSON/ParseHandler.h"#include <iostream>using Poco::JSON::Object;using Poco::JSON::Array;using Poco::JSON::ParseHandler;using Poco::JSON::Parse

2021-04-20 11:25:19 1082

原创 Linux下去除回车符(doc to unix)

方法一:直接在windows下使用notepad++转换成unix格式。然后上传文件到Linux系统编辑 —> 档案格式转换 —> 转换成unix格式方法二:在Linux下使用vi或vim转换vi doc.txt—> 输入" : set ff?"—> 回车 —> 会显示文档当前格式—> 输入 “: set ff=unix” —> 文档已被设置为unix格式方法三:使用sed命令sed -i ‘s/\r//’ doc.txt备注: doc

2021-04-17 10:33:57 1034

原创 动态规划之考试策略

考试策略你有一场考试,考试时间为 120 分钟。考试有多道题目,你的作答顺序不受限制。对于第 i 道题目,你有三种不同的策略可以选择:直接跳过这道题目,不花费时间,本题得 0 分。只做这道题目一部分,花费 p[i] 分钟的时间,本题可以得到 part[i] 分。做完整道题目,花费 f[i] 分钟的时间,本题可以得到 full[i] 分。依次给定 4 个数组:p,part,f,full,请你计算出你最多能得到多少分。 样例 1: 输入: p=[20,50,100,5], part=[20,3

2021-01-18 16:44:57 270

原创 动态规划之不同的二叉查找树

不同的二叉查找树给出 n,问由 1…n 为节点组成的不同的二叉查找树有多少种? 样例 1: 输入: n = 3 输出: 5 解释: 有5种不同形态的二叉查找树 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1

2020-12-31 10:19:58 873

原创 动态规划之不同的子序列

不同的子序列给定字符串 S 和 T, 计算 S 的所有子序列中有多少个 T.子序列字符串是原始字符串删除一些(或零个)字符之后得到的字符串, 并且要求剩下的字符的相对位置不能改变. (比如 “ACE” 是 ABCDE 的一个子序列, 而 “AEC” 不是)。注意事项:数组A的长度不超过5000,每个元素的大小不超过5000 样例 1: 输入: S = "rabbbit", T = "rabbit" 输出: 3 解释: 你可以删除 S 中的任意一个 'b', 所以一共有 3 种方

2020-12-30 16:12:36 195

原创 动态规划之跳跃游戏

跳跃游戏给出一个非负整数数组,你最初定位在数组的第一个位置,数组中的每个元素代表你在那个位置可以跳跃的最大长度,判断你是否能到达数组的最后一个位置。 样例 1: 输入: [2,3,1,1,4] 输出: true 样例 2: 输入: [3,2,1,0,4] 输出: false解答:定义dp[i][j]为数组长度为i时,以第j个位置为最后一个跳点时是否能到达最后一个位置。则有状态转换方程:dp[i][j] = dp[j][j] && (j+A[j]

2020-12-15 13:32:20 382 2

原创 动态规划之不同的路径

不同的路径 有一个机器人的位于一个 m × n 个网格左上角.机器人每一时刻只能向下或者向右移 动一步。机器人试图达到网格的右下角。现在考虑网格中有障碍物,那样将会有多少 条不同的路径?网格中的障碍和空位置分别用 1 和 0 来表示。 样例 1: 输入: [[0]] 输出: 1 样例 2: 输入: [[0,0,0],[0,1,0],[0,0,0]] 输出: 2解答:定义dp[i][j]为从左上角到点[i-1][j-1]的路径数,因只可右或下行走故:dp[i

2020-12-15 11:44:24 158

原创 动态规划之数字三角形

数字三角形 给定一个数字三角形,找到从顶部到底部的最小路径和.每一步可以移动到下面一行的相邻数字上。 样例 1: 输入: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 输出: 11 解释: 从顶到底部的最小路径和为11 ( 2 + 3 + 5 + 1 = 11) 样例 2: 输入: [ [2], [3,2], [6,5,7], [4,4

2020-12-15 11:43:04 264

原创 动态规划之分割回文串

分割回文串 给定字符串 s, 需要将它分割成一些子串, 使得每个子串都是回文串.最少分割几次? 样例 1: 输入: "a" 输出: 0 解释: "a" 本身就是回文串, 无需分割 样例 2: 输入: "aab" 输出: 1 解释: 将 "aab" 分割一次, 得到 "aa" 和 "b", 它们都是回文串.解答:定义DP[i][j]为字符串s长度为i时,前j个字符使得每个子串都是回文串并且s的第j+1到第i个字符组成的子串也是回文的最小分割成次数.则DP[i][j

2020-12-15 11:42:01 473 1

原创 动态规划之单词拆分

单词拆分 给定字符串 s 和单词字典 dict,确定 s 是否可以分成一个或多个以空格分隔的子串, 并且这些子串都在字典中存在. 样例 1: 输入: "lintcode", ["lint", "code"] 输出: true 样例 2: 输入: "a", ["a"] 输出: true解答:定义dp[i][j]为s的前i个字符并且s的第j个字符到第i个字符划分为一个字串时是否可行则有状态转换方程dp[i][j] = dp[i][j] || {dp[j-1][j-1

2020-12-15 11:40:52 283 1

原创 动态规划之背包问题

背包问题 在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m, 每个物品的大小为A[i]. 样例 1: 输入: [3,4,8,5], backpack size=10 输出: 9 样例 2: 输入: [2,3,5,7], backpack size=12 输出: 12解答:定义:DP[i][j]表示有i个物品并且容量为j时,能装下的最大值。根据第i个物品仅有2种方案:1. 装入:此时为DP[i-1][j-A[i]] + A[i]2. 不装入:此时为D

2020-12-15 11:35:51 219

原创 动态规划之最长上升子序列

最长上升子序列 给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度. 样例 1: 输入: [5,4,1,2,3] 输出: 3 解释: LIS 是 [1,2,3] 样例 2: 输入: [4,2,4,5,3,7] 输出: 4 解释: LIS 是 [2,4,5,7] 最长上升子序列的定义: 最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的 子序列,这种子序列不一定是连续的或者唯一的。解答:定义DP[i] 为整数序列中第i个值为

2020-12-15 11:34:16 110

原创 动态规划之最长公共子序列

最长公共子序列 给出两个字符串,找到最长公共子序列(LCS),返回LCS的长度. 样例 1: 输入: "ABCD" and "EDCA" 输出: 1 解释: LCS 是 'A' 或 'D' 或 'C' 样例 2: 输入: "ABCD" and "EACB" 输出: 2 解释: LCS 是 "AC"解答:定义DP[i][j]为A的前i个字符和B的前j个字符的最大公共子序列长度·当末尾字符相等时,DP[i][j] = DP[i-1][j-1] + 1;·当

2020-12-15 11:32:39 66

原创 动态规划之交叉字符串

交叉字符串给出三个字符串:s1、s2、s3,判断s3是否由s1和s2交叉构成. 样例 1: 输入: "aabcc" "dbbca" "aadbbcbcac" 输出: true 样例 2: 输入: "aabcc" "dbbca" "aadbbbaccc" 输出: false解答:定义DP[i][j] 为s1的前i个字符和s2的前j个字符是否匹配s3的前i+j个字符即:s3的第i+j个字符要么和s1的第i个字符匹配,要么和s2的第j个字符匹配,并且前i+

2020-12-15 11:29:58 197

原创 动态规划实例

动态规划:基本内容1. 具有最有子结构:即可划分多个同类型子问题求解2. 重叠子问题:即很多子问题都会被重复计算3. 确定状态,某一个子问题的求值结果4. 确定边界,可想象为矩形框边框初始值(如0行和0列)5. 确定状态转移方程,即当前规模扩大一步需执行的操作(类似于数列里的前一项和后一项的关系)程序编写步骤1. 确定DP缓存矩阵大小(建议0行0列不使用)2. 创建DP矩阵并初始化3. 初始化边界值(一般是第1行第1列)4. 以行列循环根据状态转换方程依次求子问题解5. 从DP矩阵中

2020-12-10 19:08:34 122

原创 领扣:解压字符串

描述小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串太长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为[m|S] (m为一个整数且1<=m<=100),例如字符串ABCABCABC将会被压缩为[3|ABC],现在小A收到了小Q发送过来的字符串,你能帮助他进行解压缩么?S的长度<=1000;S仅包含大写字母、[、]、|;解压后的字符串长度不超过100000;压缩递归层数不超过10层;样例输入 : “HG[3|B[

2020-12-05 13:37:44 98

原创 领扣:矩阵最小路径和

描述给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。Tip: 你在同一时间只能向下或者向右移动一步样例样例 1:输入: [[1,3,1],[1,5,1],[4,2,1]]输出: 7样例解释:路线为: 1 -> 3 -> 1 -> 1 -> 1。样例 2:输入: [[1,3,2]]输出: 6解释: 路线是: 1 -> 3 -> 2解答有两种方案可以实现:采用递归,实现简单,但是数据大时性能弱。

2020-11-30 16:21:56 92

原创 C++算法中堆相关函数的使用(make_heap/pop_heap/push_heap/sort_heap)

1.make_heap()make_heap()用于把一个可迭代容器变成一个堆,默认是大顶堆。它有三个参数。第一个参数是指向开始元素的迭代器,第二个参数是指向最末尾元素的迭代器,第三个参数是less<>()或是greater<>(),前者用于生成大顶堆,后者用于生成小顶堆,第三个参数默认情况下为less<>(),less()用于生成大顶堆。要使用less(),以及greater(),请添加头文件#include ,且一定要加括号less<>()举例:

2020-11-27 14:12:29 725 1

原创 RTP ES流解析

typedef struct tagNETDEVParseVideoData { BYTE *pucData; /* 视频数据指针 Pointer to video data */ INT32 dwDataLen; /* 视频数据长度 Video data length */ INT32 dwVideoFrameT...

2020-11-27 14:12:17 380

原创 学习资料链接

UML相关UML学习(一)—–用例图 UML学习(二)—–类图 UML学习(三)—–序列图 UML学习(四)—–状态图C++连接数据库C/C++连接MySql数据库 C++连接SQL Server数据库 C++操作oracle数据库OpenCVOpenCV教程系统时间C++获取系统当前时间(精确到微秒)调试VC...

2020-11-27 14:11:27 620

原创 领扣:二叉树后序遍历(非递归)

描述给出一棵二叉树,返回其节点值的后序遍历。解答:了解下后序遍历,在二叉树中,先左后右再根,即首先遍历左子树,然后遍历右子树,最后访问根结点。那么非递归的思想下,我们可以考虑采用深度优先遍历访问节点的算法来输出后序遍历。由此我们需要借助栈。同时,我们需要考虑到如果确认节点是否被访问过,因此我们借助set容器保存已经被访问过的节点。容器内的节点表示该节点被访问过。代码:/** * Definition of TreeNode: * class TreeNode { * public:

2020-11-27 10:25:08 84

原创 领扣:二叉查找树节点插入

样例 1:输入: tree = {}, node= 1输出: {1}样例解释:在空树中插入一个点,应该插入为根节点。样例 2:输入: tree = {2,1,4,3}, node = 6输出: {2,1,4,3,6}样例解释: 如下: 2 2 / \ / \1 4 --> 1 4 / / \ 3 3 6解答:二叉查找树有个特点:即左子树上的节

2020-11-27 09:20:23 103

原创 信号集

信号是由用户、系统或者进程发送给目标进程的信息。linux信号的产生条件:前台进程通过终端发送信号,如Ctrl+C系统运行时产生的异常,如非法内存访问系统状态变化,如alarm定时器定时发送的SIGALRM信号kill命令或kill函数发送的信号信号处理方式信号处理函数原型: typedef void(*__sighandler_t) ( int )系统自带信号处理函数 -SIG_IGN:忽略信号 -SIG_DFT:默认处理linux可用信号定义在bit/signum.h头

2020-11-26 11:12:09 130

原创 VS Code 添加头文件路径

本文讲述使用VS code编写C++程序,使用非标准库的其他路径下的头文件时编译错误的问题解决办法。官网路径已详细介绍了VS Code如何安装C++扩展以及配置编译环境:https://code.visualstudio.com/docs/cpp/config-mingw整个文章大致流程:下载并安装Visual Studio Code安装C/C++扩展下载Mingw-w64并安装,然后将安装目录下的bin路径加入到环境变量path中创建helloworld文件夹, 用 VS Code打开该文

2020-09-16 20:03:18 4839 3

原创 使用批处理创建windows计划任务

Windows下创建计划任务使用schtasks首先,我们来看下简单的示例:schtaskl /create /tn “scheduleTask” /tr scheduleTask.bat /sc minute /mo 2 /ru SYSTEM该示例表示每隔两分钟就执行一次scheduleTask.bat批处理。(若要访问到scheduleTask.bat ,可将其放到c:/windows/system32目录下)schtasks /create /tn “update” /tr update.ba

2020-09-16 14:39:49 4854 1

原创 Windows下搭建NFS服务,Linux服务器上挂载

1. 下载haneWin下载链接2. 正常安装3. 修改配置进入到安装目录下找到export文件 在最下面添加一行,格式为:“路径 名字 权限"。如:D:\nfs -name:nfs -maproot:0:0,表示将D:\nfs路径命名为nfs,root权限可读写4. 重启服务默认有4个运行程序依次管理员权限运行Stop sunRPC…Stop NFS ServerStart NFS serverStart SunRPC …5. 查看结果运行NFS Server服务(

2020-09-09 10:03:05 1187

原创 领扣编程:排列序号

问题描述:给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。样例样例 1:输入:[1,2,4]输出:1样例 2:输入:[3,2,1]输出:6思路:按原始思路套,多层遍历,逐个比较,但是数字数量大的时候性能消耗大。可研究规律,作如下算法:设给定输入序列A,拷贝序列A至序列B(以vector装载)从A中取出第一个数据a...

2020-04-03 15:20:11 175

原创 可能会用到的linux命令

查看系统版本:uname -acat /proc/versioncat /etc/reahat-release跟踪进程栈pstack 打印当前进程所有线程快照(如 pstack 7115)查看进程资源使用情况top (+P 按cpu使用大小排序)top (+M 按Mem使用大小排序)查看进程启动时间以及运行时间ps -eo pid,tty,user,comm,ls...

2019-12-02 10:12:07 125

原创 linux errno错误描述参照表

#ifndef _ASM_GENERIC_ERRNO_BASE_H#define _ASM_GENERIC_ERRNO_BASE_H#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such pro...

2019-11-16 09:56:06 318

原创 套接字选项配置(win\linux)

windowsint SSO_SetSocketOption(SOCKET sock, int level, int name, LPVOID val, int len){ return setsockopt(sock, level, name, (CHAR*)val, len);}int SSO_GetSocketOption(SOCKET sock, int level, in...

2019-11-13 11:32:09 289

原创 MJPEG格式以及RTP打包

MJPEG格式和码流分析MJPEG格式和码流分析RTP打包传输MJPEG码流

2019-10-24 19:36:55 2281

原创 [转载]vfw的AVI族函数读取AVI文件

#include "vfw.h"#pragma comment(lib, "vfw32.lib")#pragma comment(lib, "Winmm.lib") AVIFileInit(); PAVIFILE pAviFile = nullptr; // 打开AVI文件 int nRet = AVIFileOpen(&pAviFile, "10.82.27.20_...

2019-08-28 16:44:13 391

nfs1246.zip

windows nfs server安装包 1.2.46版本,用于搭建nfs服务器,可在其他服务器上挂载使用

2020-09-09

CppReference

cppreference本地版本,c++11标准库参考手册,c++工具

2018-05-18

空空如也

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

TA关注的人

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