自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ STL类型推导

STL类型推导前言类型推导不仅仅依赖 expr还依赖 ParamTypeParamType 具有指针或引用型别 (但不是万能引用&&)ParamType 是一个万能引用(&&) - 区分左右值!!!ParamType 既非指针也非引用 - 值该情况下意味无论传入什么,param仅仅是它的一个副本(值同,地址不同, 全新的对象)数组实参 - 边缘情况数组引用 - What? - 后期会继续研读并完善尽管函数无法声明真正的的数组型别的形参,但是可以声明形参为数组的引用。可退化成指

2021-02-10 14:01:53 176

原创 Ubuntu 换国内源 (授人以渔法)

Ubuntu 18.04 换源Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源国内有很多Ubuntu的镜像源,包括阿里的、网易的,还有很多教育网的源,比如:清华源、中科大源。我们这里以中科大的源为例讲解如何修改Ubuntu 18.04里面默认的源。编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前请做好相应备份):##中科大源de...

2019-10-10 14:08:00 864

原创 using与类函数指针实现多态

using与类函数数指针实现多态概述使用实例概述 1. 当想通过map(key, value)的形式来根据key调用类的函数。 2. 所调用的函数模式一样:返回值, 参数列表均完全一致 3. 唯一区别仅map的key, 以及其对应的成员函数指针。 优点: 可以实现类的成员函数多态使用 可以与服务器之类的交互,提供单一的接口,根据消息不同处理不同的响应(也算多态的特性吧) 缺点:...

2019-07-15 10:41:48 758 1

原创 win32 编译 openssl 笔记

win32 编译 openssl 笔记概述准备工作安装 Perlopenssl 源码下载vs环境安装(略)编译源码解压(略)打开vs命令提示符并进入目录下概述鉴于网上编译openssl的文章很多过于陈旧,并且一些错误并每天进行描述。因此做一下笔记。准备工作安装 PerlPerl官网下载地址一般安装比较顺利的,路径随意,安装完会自动给你添加环境变量。openssl 源码下载官网地址源码地址vs环境安装(略)编译源码解压(略)假设解压后的目录是 D:/WorkSpace/opens

2022-01-25 15:36:57 2422

原创 C++ array 探索1

C++ array 探索1

2021-12-09 20:28:43 459

原创 嵌入式设备路由配置

嵌入式设备路由配置记录记录ifconfig eth0 up # 开启接口 eth0ifconfig eth0 192.168.1.12 # 给接口配置IProute add default gw 192.168.1.1 # 向路由表中添加默认网关!!!

2021-08-04 21:51:03 273

原创 algorithm

交集算法rangeA[a1, b1] rangeB[a2, b2] 如果 max(a1,a2) < min(b1,b2) <==> 存在交集 => 交集 rangeC[max(a1,a2),min(b1,b2)]

2021-04-13 15:23:36 79

原创 对于 if( !strcmp(a,b) ) 的探讨

if( !strcmp(a,b) ) 的探讨概要首先要讨论这个问题,先分析语句,然后再具体探讨。【有什么好探讨的?喷吧】语句分析语句可以抽稀出以下语句bool bCmp = !strcmp(a, b); //[1]if( ! bCmp ) { // [2]}对于语句 [1] 的探讨1. 结果是 bool 型,那么值只有 true 与 false true : 非 0 !!! false: 0 2. strcmp的结果 <0, 0, >0 三

2021-03-11 16:38:53 3641

原创 JSON 总结 - 非解析

JSON 总结概述JavaScript Object Notation(JavaScript 对象表示法)。存储和交换文本信息的语法,类似 XML。相比XML 更小、更快,更易解析。JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。因此不需要额外的解析器,JavaScript 程序内部可以内建的 eval() 函数,直接原生解析。其他语言对JSON的库也比较多。语法规则 1它是是 JavaScript 语法的子集。数据在键/值对中。数据之间由逗号分隔。大括号

2021-03-09 10:45:12 151

原创 boost 笔记

boost 笔记boost 库下载与编译(Windows)下载地址:https://www.boost.org/编译1. 解压下载得到的文件2. 打开vs开发人员命令行工具并进入boost解压后的路径(进入到bootstrap.bat所在路径即可),然后执行boost下的bootstrap.bat 批处理3. 执行 命令进行编译b2 toolset=msvc-14.2 address-model=64 --stagedir="./VS2019" (执...

2021-02-24 15:21:31 120

原创 点与线段的碰撞测试

void hitTestLineAround(const QPointF &linePt1, const QPointF &linePt2,const QPointF &hitPt, bool &bHit){bHit = false;QPointF leftPt, rightPt;if(linePt1.x() < linePt2.x()) // The processing here is critical{ leftPt = linePt1;

2021-02-20 17:52:26 172

原创 Qt 工作笔记

Qt 工作笔记记录一些工作中的QT经验PRO 工程文件强制添加工程外的文件查看宏的值记录一些工作中的QT经验有错还望指正 - 勿喷,谢谢PRO 工程文件强制添加工程外的文件QMAKE_CXXFLAGS += /FI"$$PWD/*******.*"查看宏的值message(QMAKE_CXXFLAGS)...

2020-12-17 10:52:40 433 1

原创 忽略大小写比较字符串

忽略大小写比较字符串算法核心是想,忽略大小写算法算法核心是想,忽略大小写温馨提示: 你可以使用 strncasecmp 噢 没必要先全部转大写小写,费力不讨好算法static bool CmpNoCaseStr(const char *str1, const char *str2){ if (str1 && str2) { int strlen1 = strlen(str1); // 注意是 strlen 不是 sizeof。 指针,指针,指

2020-08-20 17:00:23 913 2

原创 代码‘本地提交‘管理

代码"提交"管理背景时间是最好的管理节点操作背景是不是有时遇到开发代码不让提交到代码管理中?是不是修改了的代码想自己备份一下?方式累积的开发过程中没备份后期乱掉想回退?时间是最好的管理节点开发的代码时随着时间在发送量变的操作通过脚本或者命令创建基于 时间的标签文件夹来存储想要备份的文件我这里仅以cygwin环境或Linux环境演示,其他平台类似mkdir BakDir`date +%Y-%m-%d_%H-%M`; cp src/*.* BakDir`date +%Y-%m-%d_%H

2020-07-31 09:30:49 137

原创 WebSocket Http上传

WebSocket Http上传概述概述C/C++ WebSocket 上传文件,主要是组装对于的 HTTP 请求报文进行请求。想组装好这个Http报文可难可简单,这取决于经验。// 请求方式 + URL + HTTP协议版本url.append("POST " + "http://netaddress?arg1=***&arg2=***&..." + HTTPPRTO...

2020-03-30 11:13:35 249

原创 rm 命令过滤式删除

rm 命令过滤式删除一、使用扩展通配符二、find命令法三、shell脚本一、使用扩展通配符1) 开启扩展通配符 shopt -s extglob2) 查看是否开启 shopt -s3) 使用命令(要删除当前目录下 nodelete.txt 以外的所有文件) rm -rf !(nodelete.txt)二、find命令法1) find . -not -name "nodel...

2020-03-24 16:47:46 1666

原创 字符串分割(split)

字符串分割概述采用C函数strtok采用C++字符串处理函数采用C语言指针方式概述字符串截取,莫非就是查找截取点的位置,然后从上一个截取点到下一个截取点的字符子串分割采用C函数strtokvoid strsplit(const char* srcStr, const char* ch){ if (srcStr) { char* chPtr = strto...

2020-03-24 14:41:51 1181

原创 Http常见状态码说明

Http常见状态码说明一些常见的状态码为:详细分解:1xx(临时响应)2xx (成功)3xx (重定向)4xx(请求错误)5xx(服务器错误)HttpWatch状态码Result is一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 ...

2020-01-15 09:36:58 142

原创 通过命令查看库里的信息

通过命令查看库中的信息工具用法工具Linux或MinGW环境下的 nm 命令, nm可列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。用法nm -D libname.sonm [option(s)] [file(s)]有用的options:-A 在每个符号信息的前面打印所在对象文件名称;-C 输出demang...

2020-01-10 14:33:59 521

原创 通过脚本生成关联SVN的C/C++源文件

通过脚本生成关联SVN的C/C++源文件概述版本命名参考步骤实际操作以及参考检索代码(略)编写脚本模板编写执行脚本(略)使用生成的文件 version.c(略)VS里配置自动执行命令(仅供参考)概述 将svn的信息通过脚本生成到C/C++文件中,然后通过使用该文件。 好处:可以将程序的信息与svn关联起来,当出错的时候能很好的定位问题处于当前svn代码提交位置 。 废话不多说,后期有新的理...

2019-11-12 16:43:34 253

原创 Qt 乱码处理(Qt5)

Qt 汉字乱码处理Qt5tr方式1 C++方式方式2方式3方式4方式5 Qt4处理方式tr方式1 C++方式源文件开头部分设置以下语句 () 内是指定编码#pragma execution_character_set(“utf-8”)方式2QString::fromLocal8Bit(“汉字”);方式3QStringLiteral(“汉字”);方式4QTextCodec *c...

2019-09-03 13:40:46 172

原创 Qt 组件提示信息的一点说明

Qt 组件提示信息的一点说明概述setToolTip 于 setStatusTip的区别setToolTipsetStatusTip概述提示信息主要是用于帮助用户使用软件的时候进行说明该组件是用于什么,触发之后会发生什么事setToolTip 于 setStatusTip的区别setToolTip This text is used for the tooltip. If no tool...

2019-08-30 10:50:10 688

原创 不采用数组以及临时字符内存实现反转

不采用数组以及临时字符内存实现反转 bool reverse_string(char **str) { int len = 0; while (*(*str)++ != '\0') { len ++; } *str = (*str)-len-1; for(int i=0;i < len/2; i++) ...

2019-08-27 09:54:35 127

原创 Qt - 国际化

Qt 国际化管理概述pro文件包含头文件定义使用说明概述 用于语言的切换,翻译工作。pro文件包含#路径自己定TRANSLATIONS = $$PWD/bin/lang/zh_En.ts \ $$PWD/bin/lang/zh_Ch.tsOTHER_FILES += $$PWD/bin/lang/zh_En.ts \ $$...

2019-08-07 09:33:30 98

原创 算法 - 点是否在某区域内(平面多边形)

算法 - 点是否在某区域内概述代码概述 测试一个点,是否在一些列点构成的包围的区域上 在区域内: 返回1; 在区域边界上: 返回-1; 在边界外: 返回0 该算法是采用向量的算法代码struct IntPoint{ int X; int Y; int Z;}; typedef std::vector<IntPoint> Poly...

2019-08-06 11:38:24 1287

原创 QT 获取文件MD5值

QT 获取文件的MD5值概述代码概述1. MD5值是一个文件唯一的标识,当文件被修改(更新)后,其MD5值也会改变2. MD5值与文件名没什么关系代码 QFile file(filePathName); file.open(QFile::ReadOnly); QByteArray fileMsg = file.readAll(); QByteArray md5 ...

2019-07-30 13:19:36 1257 3

原创 C++11 =default, =delete

C++ =default,=delete的使用使用示列模板类Leaf /** * @brief: C++11(6) C98(4) 编译器为类默认生成 * 默认构造函数、默认析构函数 * 默认拷贝构造函数、默认赋值函数 * 移动构造函数(C11)、移动拷贝函数(C11) * = default 只能针对特殊的 * == delete 可成员 */ template<t...

2019-07-04 14:47:05 193

原创 C++ 模板类

模板类概述示例概述 1. 模板类的声明和定义均写在.h内 2. 类格式 template<typename T> class 类名 { }; 3. 成员(变量, 方法)格式 template<typename T> 类名<T>::方法名(){ }示例定义 #ifndef THREAD_SAFE_STRING...

2019-07-03 10:35:53 139

原创 Linux互斥锁 -结合类特性

利用类的特性使用互斥锁简述代码简述 1. 当使用互斥锁的时候,常常忘记解锁 2. 当执行一段代码在执行中抛出了异常无法解锁代码 class LockMutex { LockMutex(pthread_mutex_t &mutex) { m_mutex = mutex; pthread_mutex_lock( m_mute...

2019-07-02 09:49:19 314

原创 Qt 屏蔽Alt+F4 - eventFilter

Qt 屏蔽Alt+F4重写 eventFilter事件重写 eventFilter事件 // bool m_bAltKeyPressed QEvent::Type type = event->type(); switch (type) { case QEvent::KeyPress: { int key_type = static_cast<Q...

2019-07-02 08:22:57 1484 1

原创 指针与const

指针与const简述代码及说明简述代码及说明

2019-07-01 13:38:32 111

原创 算法-线段是否相交判断(二维)

线段是否相交判断算法--二维声明定义声明 #define MAX(a, b) (((a)>(b))?(a):(b)) #define MIN(a, b) (((a)<(b))?(a):(b)) typedef struct _Point{ short x; short y; short z; // z: 忽略 }Point; int lin...

2019-06-24 15:50:56 348

原创 利用QMap的自动排序特性获取未使用的Key

利用QMap的自动排序特性获取未使用的Key前提背景算法提点前提 1. 当前需求里的Key是有规律的,类似前key与key直接间隔一样背景 1. 因为QMap具有自动key排序的特性,故而可以进行利用 2. 时间复杂度可大O(n), n是查找次数, n 必然小于等于 QMap.size()算法 int newKey = 0; if(idNameMap.size() > 0...

2019-06-19 09:51:13 2264

原创 Error-unterminated conditional directive

unterminated conditional directive说明何时出现说明 只要提示这个,就是缺少 #endif何时出现 1. 类似 #ifnde *** 没下文了 (即没有 #endif) 2. 头文件自包含 //test.h #ifndef TEST_H_ #define TEST_H_ --- #include "test.h" --...

2019-06-11 18:16:19 5836 5

原创 QGroupBox去除title带来的间隔

QGroupBox处理标题与顶部的间隔说明解决说明 1. 当并不需要显示GroupBox的title的。 2. 在1的前提下需要GroupBox与上层控件的间隔不会被title影响。解决 1. QGroupBox::setStyleSheet("QGroupBox{ margin-top:0px;} QGroupBox:title {margin-top: 0px;}"); 说明:以...

2019-06-11 15:59:09 3592

原创 设计模式-单例模式

设计模式-单例模式单例模式注意:单例模式 1. 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 2. 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给...

2019-06-06 17:37:15 79

原创 Linux-修改bash命令提示符

Linux修改bash命令提示符方式1通过修改 ~/.bashrc 文件1. 执行 cp ~/.bashrc ~/.bashrc.bak2. 编辑 ~/.bashrc文件含义方式1通过修改 ~/.bashrc 文件1. 执行 cp ~/.bashrc ~/.bashrc.bak2. 编辑 ~/.bashrc文件 在文件末尾加上一下内容 PS1='\[\0...

2019-06-06 09:28:05 656

原创 Qt QLabel行间距控制

<p style=“line-height:18px”>内容列子QString labelStr = QString(<p style=“line-height:18px”>%1).arg(“显示的内容”);

2019-06-05 17:09:48 3980 2

原创 Ubuntu下编译提示找不到**库

…Linux-Qt-编译找不到-lbsd的错误解决:…使用 find 或 apt-file命令找到库名,没有则安装ln -s /usr/lib/x86_64-linux-gnu/libbsd.so.0* > /usr/bin/ld

2019-05-24 15:24:31 687

原创 C++ Class For QML : Q_INVOKABLE

C++ Class For QML : Q_INVOKABLEQ_INVOKABLE定义情况功能说明使用步骤C++方法的声明与实现定义实现main函数里注册qml里:引入注册的对象+对象实例化注意Q_INVOKABLE定义情况#define Q_INVOKABLE QT_ANNOTATE_FUNCTION(qt_invokable)#define QT_ANNOTATE_FUNCTION...

2018-11-23 15:02:54 826

QLineEditDemo.zip

1. QLineEdit 设置最大长度后对中文的支持 2. 支持达到最大值后提示(提示需要自己设置)

2022-01-13

DesignPattern.rar

涵盖 Adapter  Bridge  Builder等13种设计模式的C++ 实现

2021-03-02

空空如也

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

TA关注的人

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