![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
fghler
垒简单的代码,写明白的博客。
展开
-
外部程序只运行一个实例的方法
connect(Process, &QProcess::stateChanged, [=](const QProcess::ProcessState newState) { //如果运行状态变成NotRunning,关闭Process. if (newState == QProcess::NotRunning) { Process->close(); .原创 2022-03-14 19:06:14 · 640 阅读 · 0 评论 -
win10下GIT服务器搭建与VS2019使用
两篇参考文章:Visual Studio 2019中如何使用Git - springsnow - 博客园https://www.cnblogs.com/zoro-zero/p/14069347.html需要注意:1、需要验证gitblit服务是否启动,否则的话,需要一直用命令行启动。2、VS2019连接到GIT服务器时,最好先建一个空项目去验证,如果直接将自己原来的大项目去上传的话,时间可能会比较长,导致分不清到底是配置的问题,还是上传慢的问题。自己原来的项目中,也要注..原创 2021-11-02 15:57:19 · 622 阅读 · 0 评论 -
设计支持移动的对象
要让你设计的对象支持移动的话,通常需要下面几步:你的对象应该有分开的拷贝构造和移动构造函数(除非你只打算支持移动,不支持拷贝——如 unique_ptr)。你的对象应该有 swap 成员函数,支持和另外一个对象快速交换成员。在你的对象的名空间下,应当有一个全局的 swap 函数,调用成员函数 swap 来实现交换。支持这种用法会方便别人(包括你自己在将来)在其他对象里包含你的对象,并快速实现它们的 swap 函数。实现通用的 o...原创 2021-08-30 20:07:21 · 125 阅读 · 0 评论 -
QSqlQueryModel与QTableView的使用方法
废话不多说,直接上代码,说明都在代码里。QSqlQueryModel* model = new QSqlQueryModel(ui.tableView);///如果是更新操作,记得提前进行删除model->clear();const QString st = QString("select * from table);///这里一定要添加第二个参数database连接,否则tableview不会显示///数据库连接的初始化和删除,请见https://blog.csdn.net/f原创 2021-05-19 09:16:15 · 1008 阅读 · 0 评论 -
QT数据库连接初始化和删除的方法
从网上查了很多资料,大多只是简单的说一下,没有详细的说明。后来又认真看了一下QT助手资料,写一数据库连接的详细用法。不多说,看以下代码就明白了。QString connect = "connectname"; //自定义的连接名称{ //这个括号一定要有,这样可以把QSqlDatabase约束在一个指定的作用域范围内 QSqlDatabase data; PatternImgMs::initDateBase(data, connect); const QString time = .原创 2021-05-19 09:02:57 · 1084 阅读 · 1 评论 -
常用删除函数指针模板类
/// @brief 删除指针/// @tparam T 模板类/// @param ptr 指针template<class T>void deletePtr(T* ptr){ if (ptr) { delete ptr; ptr = nullptr; }}在程序里直接调用函数就删除所有类型的函数指针了。原创 2021-05-19 08:53:19 · 242 阅读 · 0 评论 -
智能指针的三种初始化方法
//初始化方式1std::shared_ptr<int> sp1(new int(123));//初始化方式2std::shared_ptr<int> sp2;sp2.reset(new int(123));//初始化方式3std::shared_ptr<int> sp3;sp3 = std::make_shared<int>(123);原创 2020-12-08 09:50:52 · 10105 阅读 · 0 评论 -
VS2013好用的插件
切换到vs2013上有些时间了,以下是我个人认为比较好的插件。Resharper 神器中的神器,提升编码效率的第一神器,附带提高编码能力;除去臃肿的体积,堪称完美; Productivity Power Tool 提高的都是生产力,谁用谁知道; AnkhSvn 常在河边走,哪能没有SVN; Local History 还没提交SVN就发现要重写了,control z啥的次数实在不够用,还是local history双保险吧; Editor Guidelines 我屏幕小,字体大,一屏20行代码.原创 2020-11-20 15:08:14 · 1161 阅读 · 0 评论 -
C/C++通过指针得到数组大小
引入<malloc.h>头文件,使用其中的_msize()函数得到数组的字节数,再除以sizeof(type)即可。int* a;a = (int*)malloc(sizeof(int) * 6);cout<< _msize(a)/sizeof(a[0]);原创 2020-10-30 12:53:51 · 2242 阅读 · 0 评论 -
自定义的按比特位拷贝函数
// 从src数组首地址跳过sbb个字节,又跳过ssb个比特位,拷贝nbits个比特位的数据到// dest数组首地址跳过dbb个字节,又跳过dsb个比特位位置int copybits(const unsigned char* src, int sbb/*source begin byte*/, int ssb/*source skip bit*/, unsigned char* dest, int dbb/*dest begin byte*/, int dsb/*dest skip bit*/...原创 2020-09-07 16:02:16 · 474 阅读 · 0 评论 -
如何检测指针指向数组的大小和容量
包含头文件#include <malloc.h>然后在函数中调用int t = _msize(指向数组的指针);t就是整个数组大小再用t除以sizeof(数组数值类型),就是数组的容量。原创 2020-07-28 16:18:17 · 2321 阅读 · 1 评论 -
VS调用动态库的最简单方法
1、将.LIB文件添加到项目中。2、在调用的文件头部#INCLUDE相关头文件3、将.DLL文件复制到相应的.exe生成目录中。完成。原创 2020-07-28 08:36:29 · 1085 阅读 · 0 评论 -
可以用的C++线程池。
不多说,直接上代码。//ThreadPool.h#pragma once #include <functional> #include <future> #include <mutex> #include <queue> #include <thread> #include <utility> #include <vector> #include "SafeQueue.h" #include &l原创 2020-07-10 11:42:08 · 307 阅读 · 0 评论 -
C++中头文件相互包含与前置声明
为了保证头文件仅被编译一次,在C++中常用的办法是使用条件编译命令。在头文件中我们常常会看到以下语句段:#if !defined XXX_H#defineXXX_H //……#endif 其中首句#if !defined也经常做#ifndef,作用相同。意思是如果没有定义过这个宏,那么就定义它,然后执行直到#endif的所有语句。如果下次在与要这段代码,由于已经定义...原创 2020-04-24 15:02:18 · 225 阅读 · 0 评论 -
能指针shared_ptr的用法
原文链接:https://www.cnblogs.com/jiayayao/archive/2016/12/03/6128877.html 为了解决C++内存泄漏的问题,C++11引入了智能指针(Smart Pointer)。 智能指针的原理是,接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈上的变量自动被销毁,智能指针内部保存的内存...转载 2019-05-10 23:30:59 · 182 阅读 · 0 评论 -
VC一进行调试(按下F5\F10\F11)就进汇编,看不到程序语句。
解决办法:进入Build->SetActiveProjectConfiguration选择Win32Debug。原因:如果是REALEASE模式下,就会进入汇编。原创 2019-04-24 13:00:07 · 892 阅读 · 0 评论 -
VC----Class Style类风格和窗口风格
CS_BYTEALIGNCLIENT:以字节边界来对齐窗口客户区,这个风格会影响 窗口 的宽度和水平位置。实际上没有看到效果。CS_BYTEALIGNWINDOW:以字节边界来对齐窗口,这个风格会影响窗口的宽度和水平位置。实际上没有看到效果。CS_CLASSDC:分配一个DC,凡是用这个类的窗口都能共享这个DC。因为窗口类是具体的,所以一个程序的多个线程可以创建同一个类下的多个窗口,也有可...转载 2019-04-22 22:29:49 · 571 阅读 · 0 评论