![](https://img-blog.csdnimg.cn/6208ffed4403484fa3fbba2eb518a49d.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
C++基础知识分享
DongDongBaJiaYou
Always believe that something wonderful is about to happen!
展开
-
带数字的字符串排序Qt
但是遇到字符串中包含1、2、3、10、11、12、21、22、31这种时,顺序就会乱掉;日常开发中排序操作是很常见的,大多时候使用qSort默认方式,就可以满足需求;原创 2024-01-12 16:28:03 · 473 阅读 · 0 评论 -
Qt使用Cryptopp生成HMAC-MD5
Qt使用Cryptopp生成HMAC-MD5算法码原创 2023-12-08 16:51:52 · 379 阅读 · 0 评论 -
Qt重启windows服务
日常开发中,会遇到改变某个服务的参数,并进行重启(例如Redis断电恢复机制)原创 2023-11-10 17:54:40 · 423 阅读 · 0 评论 -
QtCreator中设置自定义注释格式
另外QtCreator中支持Doxygen,在函数前直接打/**加回车,会直接进行函数的注释添加!QtCreator--工具--选项--文本编辑器--片段--组:C++--添加。点击Apply,并且Ok。原创 2023-08-18 15:20:35 · 283 阅读 · 0 评论 -
FFmpeg接收UDP码流
三、后续的一系列操作就按照普通解码顺序进行即可。原创 2023-08-09 22:09:06 · 1767 阅读 · 0 评论 -
C++获取机器显卡信息
【代码】C++获取机器显卡信息。原创 2023-08-08 15:57:47 · 740 阅读 · 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 · 622 阅读 · 0 评论 -
Boost::Graph去除重复顶点
【代码】Boost::Graph去除重复顶点。原创 2023-06-26 16:26:54 · 113 阅读 · 0 评论 -
C++面试题
【代码】C++面试题。原创 2023-06-19 14:16:13 · 195 阅读 · 0 评论 -
Qt守护进程相关
【代码】Qt守护进程。原创 2023-06-15 18:01:23 · 605 阅读 · 0 评论 -
大端 / 小端,三种判断方法
而在C语言中,不仅仅是一个字节来存储一个数据,除了一个字节的char,还有两个字节的short,四个字节的int等等(看具体编译器)。另外,对于位数大于8位的处理器,例如32位的处理器,由于寄存器的宽度大于一个字节,那么就有如何将多个字节进行排布的问题,于是就出现了大小端的问题。3.定义联合体,一个成员是多字节,一个是单字节,给多字节的成员赋一个最低一个字节不为0,其他字节为0 的值,再用第二个成员来判断,如果第二个字节不为0,就是小端,若为0,就是大端。3.怎么判断当前机器的字节序?转载 2023-06-13 10:17:53 · 3668 阅读 · 0 评论 -
std::map与QMap插入效率对比
结论:在C++11加持下,std::map的emplace看来是最好的方法了!上一篇文章介绍了std::map在普通operator[]赋值的流程。可以看到,使用emplace是优的!不管在写法还是效率上都是最优的!可以看到,使用insert是最优的!不管在写法还是效率上都是最优的!原创 2023-06-08 15:51:35 · 528 阅读 · 0 评论 -
std::map的使用
对于自定义类型Student而言,作为Value插入到std::map中,没有写默认构造函数,编译器报错,为了探明原因,就把Student类的几个重要函数都写了出来并且配合qDebug信息输出,找出了真正原因:std::map在插入新值的时候会先调用默认构造函数,然后调用赋值构造函数!原创 2023-06-08 11:47:32 · 259 阅读 · 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 · 1452 阅读 · 0 评论 -
C++析构函数声明为protected的原因
在堆中,我们通常使用new/delete来创建/销毁对象。即:当调用new时,它会自动去调用相应类的构造函数;当调用delete时,它会自动去调用相应类的析构函数。poco这么做,主要是为了使这些类不能在栈上申请内存!最近在看poco源码中发现很多类的析构函数都设置为protected,经过思考就有了这篇文章!在栈中,该过程是自动完成的。即:不需要我们显式调用new/delete。然而,当我们想禁止在栈中产生对象时,如何来实现呢?类的构造/析构都是public的。原创 2023-06-06 14:14:04 · 247 阅读 · 0 评论 -
C++实现环形缓冲区
环形缓冲区原创 2023-05-23 11:41:14 · 306 阅读 · 0 评论