自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

琅嬛福地

寒江孤影,江湖故人,相逢何必曾相识

  • 博客(10)
  • 资源 (20)
  • 收藏
  • 关注

原创 C++ boost库智能指针(四):intrusive_ptr

intrusive_ptr这个智能指针不怎么好用,虽然它和shared_ptr也是基于引用计数的,但需要自己来实现引用计数的增加与减少。需要在我们管理的指针对象中添加一个计数的成员,例如下面的类Test. 头文件:#include <boost/intrusive_ptr.hpp>class Test{public: Test() { _iCount = 0; cout << "构造" << endl; } ~Test...

2020-06-23 00:08:37 1195

原创 C++ boost库智能指针(三):weak_ptr

weak_ptr是shared_ptr得到协助者,可以观察shared_ptr是否过期,weak_ptr不改变引用计数,也不能使用 *,->操作符,是一个很弱的智能指针。例如下面的代码:#include <iostream>#include <boost/make_shared.hpp>#include <boost/weak_ptr.hpp>using namespace std;using namespace boost;cl...

2020-06-22 23:19:07 364

原创 C++ boost库智能指针(二):shared_ptr和shared_array

shared_ptr是boost最重要的智能指针,最像智能指针的"智能指针",由于它的优越表现,被加入了C++11标准。 shared_ptr与scoped_ptr —样包装了 new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针,可以被自由地拷贝和赋值,在任意的地方共享它,和scoped_ptr、auto_ptr一样重载了“*”和“->”,用get()可以获取被管理的指针,也没有算术操作符,同样也不能管理数组内存,当没有代码使用(引用计数为0)它时...

2020-06-22 23:18:36 979

原创 C++ boost库智能指针(一):scoped_ptr 与 scoped_array

使用scoped_ptr需要包含的头文件#include <boost/scoped_ptr.hpp> 相比于auto_ptr, boost的scoped_ptr对指针的使用权进行转移,这是因为在scoped_ptr内部对拷贝,赋值做了私有化:template<class T> class scoped_ptr // noncopyable{private: T * px; scoped_ptr(scoped_ptr const &amp..

2020-06-22 23:18:19 625

原创 C++ 标准库智能指针auto_ptr源码分析

智能指针是C++标准中一个很重要的内容,它帮C++程序员解决了部分内存开辟与释放的问题,使C++程序员可以和java, C#一样不为内存泄露而担心。使用智能指针需要包含头文件#include <memory> C++标准的智能指针主要有4个,auto_ptr, unique_ptr、shared_ptr 和 weak_ptr 。另外boost库,Qt也有智能指针. auto_ptr是C++98提出的比较早的智能指针,在C++11以后已经不建议使用了,但是分析它的源码...

2020-06-22 23:17:56 614

原创 Qt响应ctrl 鼠标滚轮字母等组合按键

一般的软件会有很多组合快捷键,例如QQ截图ctrl + alt + A,微信截图 alt A,看PDF时ctrl +鼠标滚轮进行缩放等。Qt对这些快捷键都有了实现,下面分别对这些功能做介绍并提供代码实现。1鼠标按键 重写mousePressEvent方法就可以实现对鼠标按键的控制,如下: void mousePressEvent(QMouseEvent *event); 常用的鼠标按键 LeftButton ...

2020-06-17 00:27:12 3030

原创 C++数据结构:普通队列与循环队列

什么是队列? 队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构。队列分类 普通队列与循环队列,普通队列可以看做是一列数据,环形队列可以看做是一个圆,当普通队列的数据索引可以循环设置时,普通队列就成了循环队列。这两种都可以用数组来实现。循环队列的C++实现 下面说明用数组实现循环队列的方法...

2020-06-14 22:32:24 1421

原创 MFC CArchive类读写文件的应用

一 写文件 CFile和CArchive进行绑定,CArchive把数据写到文件中,代码如下: CFile file; BOOL isOk = file.Open(L"1.txt", CFile::modeCreate | CFile::modeWrite); if (!isOk) { return; } CArchive ar(&file, CArchive::store); int a = 10; CString str = L"Hello...

2020-06-14 15:55:34 701

原创 ProcessExplorer查找C++ exe程序运行所需要的的dll

当我们把自己打包的exe程序放到别人电脑时可能出现缺少dll的情况,此时可以用ProcessExplorer工具找出对应的dll, 把exe先运行起来,将ProcessExplorer工具栏的靶子拖动到运行的exe窗口上,此时该exe会被ProcessExplorer监控到 如下图 我是用MFC写的程序,那么就就需要mfc系列的头文件,如果没有dll栏目,需要在菜单中设置, 找到该dll, 右击属性就会看到dll路径了。...

2020-06-14 15:54:09 1146

原创 C++构造函数语义学之默认构造函数

在学C++时,通常有一种概念,在创建类对象时,如果没有构造函数,那么会调用默认的构造函数,并且把相关成员赋值为0,这句话正确吗,看看下面这个例子:#include <iostream>using namespace std;class Foo{public: //Foo() {} void setValue(int value) { m_Value = value; } int m_Value; int *m_pArray;};i...

2020-06-06 22:07:26 306

C++ QMainWindow无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小

C++ QMainWindow无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小,适用于Win11、Win10, 自带窗口阴影圆角。

2024-04-23

C++ glog demo

C++ glog demo, 运行环境vs2019、VS2022,x86, 如果需要x64编译,需要自己下载编译glog x64的sdk

2024-04-23

Qt蓝牙串口源码支持十六进制发送、字符发送、定时发送

1、可以使用vs2019/vs2017 Qt进行编译 2、源码说明链接:https://mingshiqiang.blog.csdn.net/article/details/80733737

2022-02-22

c++ PImpl实现机制

**PIMPL** ,即Private Implementation,一般称之为类的私有化实现,PImpl主要有两个作用; (1)它让声明和实现进行解耦,在项目开发时,如果很多文件引用了该头文件,如果头文件改变了一些实现,那么在编译时,所有引用的文件也得重新编译一次,增加了c++程序的编译时间, 如果把实现用一个指针进行声明,改变实现的代码,只会关联一次,降低了耦合度,可以减少编译时间。 (2)Pimpl,也可以称之为pointer to implementation, 指向实现的指针,可以用来对“类的接口与实现”进行解耦,比如在sdk开发时,可以用这个技巧来避免在头文件中暴露私有细节,使sdk接口与实现保持完全分离。

2021-09-15

很全的 Qt qss

这是一个Qt第三方样式表,下载后,可以直接加到项目中使用。不知道怎么用的,可以关注我的Qt专栏。使用链接:https://mingshiqiang.blog.csdn.net/article/details/108860180

2020-09-29

jsoncpp_sdk_x64.rar

vs2017编译的jsoncpp sdk, 包含Debug和Release版本dll, lib , include,可以和其它sdk一样直接包含到项目中使用,可以去我的博客C++专栏找使用方法。

2020-04-06

ffplay源码架构图.vsdx

我用visio2016画的,把ffplay源码中的各个模块都展现出来了,有兴趣的可以去看看我的博客。

2019-12-08

MusicPlayer.rar

该音乐播放器使用Qt开发,代码用QtCreator编写,下载即可使用,主要用QMediaPlayer的一些功能,可以看我的博客讲解。

2019-11-17

Qt子线程更新数据发到主线程显示.rar

Qt的子线程无法直接更新主UI,需要发送信号到主线程进行更新,我用的QTableWidget展示数据。

2019-08-18

FileDownlod.rar

Qt实现的网络文件下载,用QtCreator可以直接打开编译,运行,我的博客有讲解,可以去看看。

2019-08-05

lua-5.3.4源码

lua5.3.4源码,导入VS2015可以直接编译,想学习分析Lua源码的可以下载,研究。

2019-01-10

中国象棋源码(C++/MFC)

用MFC写的中国象棋游戏,VS2015可以直接编译,有多重AI算法,有兴趣可以研究,全网最好的象棋代码。又不懂的可以看看我的博客,有讲解。

2018-12-24

Win10 Git Bash闪退的解决方案文件

当你的Win10系统出现Git Bash闪退时,需要该文件进行开启相关服务,可以参考我的博客进行解决。

2018-11-07

Halcon12与MFC数字识别详细教程

基于Halcon12的数字识别,识别精确,关于代码的解释,请关注的我的博客,在博客里我做了详细的解释。

2018-07-09

ffmpeg3.2.4_Win32开发库文件

ffmpeg3.2.4_Win32开发库文件,包含头文件,静态库lib, 动态库dll.

2018-06-03

Qt进度条QProgressBar的使用(详细代码)

详细的工程代码与注释,讲解Qt进度条QProgressBar的使用方法,完整的代码。

2018-05-03

支持向量机通俗导论(理解SVM的三层境界)PDF

这应该是全网最全最清晰的SVM学习的资料了,我学了10天,终于了解了,大家可以学学看。PDF文档学会后,可以结合OpenCV的源码看看,相信你们一定有大的收获。

2018-04-13

C# TCP网络通信示例:多人聊天发文件

该资源包含客户端,服务器, 用户注册到数据库(可自行裁剪该功能),通过TCP 实现聊天,发文件,可以多人同时聊天。代码有完整的注释,是完整的项目。

2018-04-02

华为C++/C/java代码规范(完整版)

最新的华为代码规范,适用于C++/C/java,高清带目录,格式标准的代码给自己和维护者都是一种享受,建议程序员多看看。

2018-03-14

C++/OpenCV2.4.9 数字精确识别源码

利用OpenCV的图像处理技术,对图像进行灰度处理,二值分析,降噪,滤波等,识别照片中的数字,完美精确, C++ VS2015代码,有详细的代码注释,完整源码。

2017-11-02

C# Winform数值实时曲线(完整示例)

C#实现显示实时数据,并形成曲线,保存数据,完整的项目代码

2017-07-01

空空如也

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

TA关注的人

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