
C++
转眼诙
这个作者很懒,什么都没留下…
展开
-
C++为什么使用非类型模板参数?【转】
我们知道,只要使用函数模板,(编译器)会自动地引发一个实例化过程,因此我们并不需要额外地请求模板的实例化。用具体类型代替模板参数的过程叫做实例化(instantiation)。它产生了一个模板的实例,也就是生成了新的代码,导致了代码的膨胀。那我们为什么不用函数参数替代非类型模板参数呢?这样不是会减少代码的膨胀?转载 2023-02-22 10:32:33 · 118 阅读 · 0 评论 -
unique_ptr 使用了未定义类型
unique_ptr 使用了未定义类型原创 2022-08-31 15:06:45 · 578 阅读 · 0 评论 -
CMake设置程序图标
CMake设置程序图标转载 2022-08-30 16:51:58 · 1134 阅读 · 0 评论 -
使用xerces-c时相关问题记录
1.在使用SAX解析器xerces-c时,如何获取行号:在DefaultHandler中有一个virtual void setDocumentLocator(const Locator* const locator);的虚函数,覆盖此函数,可以拿到定位器Locator的指针,在后续的解析中就可以使用它。例如:private: const xercesc::Locator* m_locator = nullptr;void setDocumentLocator(const xercesc::原创 2022-02-18 16:23:41 · 219 阅读 · 0 评论 -
C++ 回调函数 例子
适应场景:classB 的实例作为classA类中的一个变量,classB 在运行中反而需要调用classA中的变量或者函数。例如:相机的回调函数,classA为UI界面,classB 为相机SDK,classB 的实例作为classA类中的一个变量。classB 不断运行获取图片,并调用classA中的回调函数将图片显示在UI界面上。#include "classB.h"class classA{public: classA(); ~classA(); classB classB_;原创 2021-01-06 10:33:08 · 2528 阅读 · 0 评论 -
Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法
Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径、用户目录路径、临时文件夹等。在 Qt 中实现这几个功能所用的方法虽然都不难,但是各不相同,每次用到时还要现去查,很不方便。因此就写了这篇博客,把这几种需求的实现方式总结了一下。算是个备忘录吧。程序所在路径获取程序所在路径,QCoreApplication 类里就实现了相关的功能:QString QCoreApplication::applicationDirPath()转载 2020-12-03 14:40:38 · 764 阅读 · 0 评论 -
Qt十六进制转浮点数IEEE 754
QString str="41a40000"; int hex = str.toUInt(0, 16);float value = *(float*)&hex;参考Qt中如何实现十六进制“41A4 0000”十六进制转为浮点数20.5原创 2020-09-30 11:27:11 · 2267 阅读 · 1 评论 -
Qt unicode字串转中文
有时候,直接在html里面获取的字符串就是带有"\u"的,然后直接显示的时候"\u"也会显示出来。这里就是教你如何去掉"\u"。其实这并不是乱码他就是这么传输的\u标识Unicode 后面的6211是两个字节的16进制数0x62,0x11Unicode编码2个字节表示一个字符QString filename = "\\u6211\\u662f\\u4e2d\\u6587";do { int idx = filename.indexOf("\\u"); QString strHex = filen转载 2020-09-30 11:21:05 · 1186 阅读 · 0 评论 -
libmodbus的下载与编译(转),附本次下载编译的一些不同
这几天搞QT和libmodbus库,发现QT自带的modbus的例程是自己从底层实现了一遍的,相对QT例程来说,选择libmodbus要更稳定一些。由于3.0.6版本从2013年后就没有更新了(很稳定),因此选择相对较新的libmodbus的3.1.4版本(个人问题)PS:我本次下载的是版本3.1.6,使用的是VS2017。1.libmodbus的下载首先在github上获取源代码,下载地址为:https://g...转载 2020-08-12 09:35:01 · 1674 阅读 · 0 评论 -
Windows下的SysWow64和System32
结论:SysWow64存放的是32位文件,System32跟随当前系统Wow!什么是Wow6464位的Windows并不是简单地把所有东西都编译成64位就万事大吉的。关于64位的CPU应该做成什么样子,Intel和AMD曾有各自的打算。AMD的回答直接了当:新的64位处理器,应该能在提高更高处理能力的同时,保持对32位应用程序的兼容性。而Intel则希望借此机会,把下一代的处理器,设计得更完美。于是,就有了AMD的x86-64(后被称为amd64)的处理器和Intel的IA-64(安腾)处理器。和amd转载 2020-08-07 14:03:33 · 357 阅读 · 0 评论 -
QT程序发布之插件(plugins)缺少的问题
QT程序放到其他电脑上时无法运行的问题之-plugins例子:使用QImage时,在其他电脑上可支持的图片格式变少解决方法:1.将QT安装目录下的plugins文件夹复制到程序可执行文件的目录下,留下需要的插件,其他的文件夹可以删除。例如:QImage使用了plugins\imageformats,那么只要留下imageformats这个文件夹就可以了。注意需要有plugins这个文件夹的存...原创 2020-01-13 16:50:35 · 4608 阅读 · 0 评论 -
工程使用不同的VS打开时可能出现的问题
1.许多window或VS自带的头文件无法打开工程项目->熟悉->常规->平台工具集:修改为当前的VS版本2.错误 MSB8036严重性 代码 说明 项目 文件 行 禁止显示状态错误 MSB8036 The Windows SDK version 10.0.17763.0 was not found. Install the required version of Win...原创 2019-08-25 22:59:28 · 315 阅读 · 0 评论 -
(转)string和wstring的互转
原作者链接:https://blog.youkuaiyun.com/liminwang0311/article/details/79975174方式一:调用Windows API#include <Windows.h>//将string转换成wstring wstring string2wstring(string str) { wstring result; ...转载 2019-08-26 10:27:46 · 541 阅读 · 0 评论 -
avcodec_decode_video2中AVFrame与AVPacket的关系
int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,int *got_picture_ptr,const AVPacket *avpkt);这个函数中,使用AVPacket编码出AVFrame,函数调用完成后,AVFrame->data 和 AVPacket->data 的地址是一样的;也就是说在图...原创 2019-08-27 17:34:48 · 573 阅读 · 0 评论 -
C++中lib与dll的生成与导入
lib、dll的生成与使用http://www.cppblog.com/biao/archive/2013/03/14/198416.html其中生成.dll的时候,并不会自动生成.lib文件,这样就无法进行调用。为dll导出函数与类方法1:使用 __declspec(dllimport) :在函数(申明与定义)和类前添加__declspec(dllimport)//类 导出标记在cl...原创 2019-09-19 14:53:06 · 393 阅读 · 0 评论 -
stdin、 stdout和stderr重定向函数(freopen、_wfreopen、freopen_s、_wfreopen_s)
功能freopen、_wfreopen、freopen_s、_wfreopen_s 用于重新定向stdin、 stdout和stderr,参考Microsoft Docs,文档链接在末尾。区别1.“_w” 的路径和模式参数是宽字符字符串,其他部分和 freopen、 freopen_s相同;2.freopen_s、_wfreopen_s 对比 freopen、_wfreopen 具有安全...原创 2019-08-01 15:58:45 · 2850 阅读 · 0 评论