C++
C++基础知识分享
DongDongBaJiaYou
Always believe that something wonderful is about to happen!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt便捷函数(获取桌面壁纸路径)
【代码】Qt便捷函数(获取桌面壁纸路径)原创 2024-12-12 21:23:16 · 272 阅读 · 0 评论 -
UNICODE编码特殊符号
平时编程中会用到各种各样的符号,有时不想去找图片,一些简单的符号,可以直接通过Unicode字符来获取: 以下是常用的Unicode特殊符号,建议收藏:原创 2024-12-06 16:26:32 · 2259 阅读 · 0 评论 -
Windows进程的睡眠与唤醒
在总体架构庞大、包含很多进程协同工作的系统中。有时把系统内某些后台进程睡眠,待需要时再唤醒,可以节约操作系统资源,提升系统运行效率。原创 2024-10-21 18:23:35 · 341 阅读 · 0 评论 -
图片写入GPS经纬高信息
近期项目中需要往java平台传输图片,直接使用QNetworkAccessManager和QHttpMultipart类即可,其他博文中有分享。Qt无法直接实现,查了很多资料,发现exiv2库可以使用,经过一番折腾后,最终成功向平台传输,在此做个记录。主要是平台接口对所传输图片有要求:需要包含GPS信息(经度、纬度、高度)。需要库exiv2,已提供下载。原创 2024-10-21 17:54:00 · 656 阅读 · 0 评论 -
std小记
一、float设置精度。原创 2024-09-28 10:30:21 · 233 阅读 · 0 评论 -
Cryptopp进行RSA加密解密
因最近工作需要,要与一个java服务器进行部分数据交互,其中用户名、密码的加密方式为RSA非对称加密,故研究了一下使用Cryptopp库进行RSA的公钥加密。首先需要知道base64的公钥,保存为rsa-base64-public.key放到程序根目录下。Cryptopp库可以通过我的优快云下载进行下载,同时也有另一篇文章介绍MD5的相关操作!在此做一个记录,方便日后自己查找,以及希望能够帮助大家!原创 2024-09-24 21:19:56 · 840 阅读 · 0 评论 -
常用便捷函数
【代码】常用便捷函数。原创 2024-08-22 15:25:10 · 164 阅读 · 0 评论 -
const & constexpr
关键字则用于指明其后是一个常量(或者常量表达式),编译器在编译程序时可以顺带将其结果计算出来,而无需等到程序运行阶段,这样的优化极大地提高了程序的执行效率。首先用几个简单的例子来说明一下两者的基本使用,就可以看出来相同点和不同点了。用于为修饰的变量添加“只读”属性;而 constexpr。总的来说在 C++ 11 标准中,const。constexpr顾名思义常量表达式:常量。const主要在于:只读。原创 2024-08-22 15:17:40 · 492 阅读 · 0 评论 -
带数字的字符串排序Qt
但是遇到字符串中包含1、2、3、10、11、12、21、22、31这种时,顺序就会乱掉;日常开发中排序操作是很常见的,大多时候使用qSort默认方式,就可以满足需求;原创 2024-01-12 16:28:03 · 704 阅读 · 0 评论 -
Qt使用Cryptopp生成HMAC-MD5
Qt使用Cryptopp生成HMAC-MD5算法码原创 2023-12-08 16:51:52 · 809 阅读 · 0 评论 -
Qt重启windows服务
日常开发中,会遇到改变某个服务的参数,并进行重启(例如Redis断电恢复机制)原创 2023-11-10 17:54:40 · 710 阅读 · 0 评论 -
QtCreator中设置自定义注释格式
另外QtCreator中支持Doxygen,在函数前直接打/**加回车,会直接进行函数的注释添加!QtCreator--工具--选项--文本编辑器--片段--组:C++--添加。点击Apply,并且Ok。原创 2023-08-18 15:20:35 · 573 阅读 · 0 评论 -
FFmpeg接收UDP码流
三、后续的一系列操作就按照普通解码顺序进行即可。原创 2023-08-09 22:09:06 · 2574 阅读 · 0 评论 -
C++获取机器显卡信息
【代码】C++获取机器显卡信息。原创 2023-08-08 15:57:47 · 1099 阅读 · 1 评论 -
C++ 内存分配(new,operator new)详解
事实上,分配内存这一操作就是由operator new(size_t)来完成的,如果类A重载了operator new,那么将调用A::operator new(size_t ),如果没有重载,就调用::operator new(size_t ),全局new操作符由C++默认提供。然而,前面已经说过,new运算符的执行过程分为两步,C++提供new运算符的重载,其实是只允许重载operator new()函数,而operator()函数用于分配内存,无法提供构造功能。使用这种方法,直接调用类的构造函数。原创 2023-06-29 14:29:33 · 1035 阅读 · 0 评论 -
Boost::Graph去除重复顶点
【代码】Boost::Graph去除重复顶点。原创 2023-06-26 16:26:54 · 274 阅读 · 0 评论 -
C++面试题
【代码】C++面试题。原创 2023-06-19 14:16:13 · 301 阅读 · 0 评论 -
Qt守护进程相关
【代码】Qt守护进程。原创 2023-06-15 18:01:23 · 781 阅读 · 0 评论 -
大端 / 小端,三种判断方法
而在C语言中,不仅仅是一个字节来存储一个数据,除了一个字节的char,还有两个字节的short,四个字节的int等等(看具体编译器)。另外,对于位数大于8位的处理器,例如32位的处理器,由于寄存器的宽度大于一个字节,那么就有如何将多个字节进行排布的问题,于是就出现了大小端的问题。3.定义联合体,一个成员是多字节,一个是单字节,给多字节的成员赋一个最低一个字节不为0,其他字节为0 的值,再用第二个成员来判断,如果第二个字节不为0,就是小端,若为0,就是大端。3.怎么判断当前机器的字节序?原创 2023-06-13 10:17:53 · 5467 阅读 · 0 评论 -
std::map与QMap插入效率对比
结论:在C++11加持下,std::map的emplace看来是最好的方法了!上一篇文章介绍了std::map在普通operator[]赋值的流程。可以看到,使用emplace是优的!不管在写法还是效率上都是最优的!可以看到,使用insert是最优的!不管在写法还是效率上都是最优的!原创 2023-06-08 15:51:35 · 1067 阅读 · 0 评论 -
std::map的使用
对于自定义类型Student而言,作为Value插入到std::map中,没有写默认构造函数,编译器报错,为了探明原因,就把Student类的几个重要函数都写了出来并且配合qDebug信息输出,找出了真正原因:std::map在插入新值的时候会先调用默认构造函数,然后调用赋值构造函数!原创 2023-06-08 11:47:32 · 406 阅读 · 0 评论 -
C++11 字符串编码转换
【注】windows平台的std::wstring 就是std::u16string, wchar_t 就是char16_t (utf-16编码)。首先需要明白的是,std::string的没有编码的,里面可以保存gbk,utf-8等编码的字符串。注意:转换后的获得的std::string的编码为utf-8,windows下输出是乱码 (windows终端输出中文要正常显示,要转化为GBK编码)一、std::string 转为 std::wstring( utf-8 --> wchar )转载 2023-06-07 14:55:41 · 1905 阅读 · 0 评论 -
C++析构函数声明为protected的原因
在堆中,我们通常使用new/delete来创建/销毁对象。即:当调用new时,它会自动去调用相应类的构造函数;当调用delete时,它会自动去调用相应类的析构函数。poco这么做,主要是为了使这些类不能在栈上申请内存!最近在看poco源码中发现很多类的析构函数都设置为protected,经过思考就有了这篇文章!在栈中,该过程是自动完成的。即:不需要我们显式调用new/delete。然而,当我们想禁止在栈中产生对象时,如何来实现呢?类的构造/析构都是public的。原创 2023-06-06 14:14:04 · 405 阅读 · 0 评论 -
C++实现环形缓冲区
环形缓冲区原创 2023-05-23 11:41:14 · 487 阅读 · 0 评论
分享