c++
打雷下雨
踏碎山河,一去不复返。
展开
-
《完美Qt》之QString使用实例
字符串连接QString("1")+QString("2");QString("1")+"3";QString("1")+QChar('A');QString("%1%2").arg("2","333");QString("%1%2").arg("aa").arg("bb");与C的sprintf一样QString("1").sprintf("%s","123 ");插入到指定索引原创 2017-10-25 22:39:45 · 924 阅读 · 0 评论 -
《完美C/C++》创建windows系统托盘程序
#include #define IDR_PAUSE 12#define IDR_START 13LPCTSTR szAppClassName = TEXT("服务程序");LPCTSTR szAppWindowName = TEXT("服务程序");HMENU hmenu;//菜单句柄LRESULT CALLBACK WndProc(HWND hwnd, UINT messag原创 2018-01-13 19:46:36 · 5281 阅读 · 0 评论 -
《完美C/C++》之windows守护进程
#include <stdio.h>#include <stdlib.h>#include <Windows.h>#include <io.h>#include <iostream>LPCTSTR szAppClassName = TEXT("Print Service");LPCTSTR szAppWindowName =...原创 2018-01-13 18:01:07 · 5496 阅读 · 3 评论 -
《完美设计模式》之策略模式
策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。介绍意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if原创 2017-11-18 23:51:52 · 272 阅读 · 0 评论 -
《完美C/C++》之C与C++的区别(一)
类型检查的区别枚举的区别左值也可被赋值1、类型检查更严格//c++类型检查比c语言更加严格int main(){ //****************1***************** const int a; //c++中必须初始化 int *p = &a; //&a == const int *...原创 2017-03-16 13:57:49 · 757 阅读 · 0 评论 -
《完美设计模式》之责任链模式
责任链模式:使多个对象都有机会处理请求, 从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条莲,并沿着这条链向下传递请求,直到有一个对象处理它为止。主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。关键代码:Handler 里面聚合它自己,在 HanleRequest 里判断是否合原创 2017-11-12 01:43:51 · 241 阅读 · 0 评论 -
《完美设计模式》之命令模式
命令模式(Command Pattern)将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。对请求排队或记录请求日志,以支持可撤销的操作主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。 何时使用:在某些场合,比如要对行为进行”记录、撤销/重做、事务”等处理原创 2017-11-12 17:48:43 · 197 阅读 · 0 评论 -
《完美Qt》之qInstallMessageHandler
1 背景在自己项目中,之前写好了几个模块,用了很多的qDebug()打印信息,后面项目经理要求有日志输出,以便以后出现问题方便调试,百度查了下,很容易得到自己想要的。。2 介绍用qInstallMessageHandler()这个全局函数就可以把qDebug(), qWarning()输出重定向的日志文件中,这个函数需要传个参数,实际就是一个回调函数,格式如下`void myMes...原创 2017-10-19 00:12:08 · 3005 阅读 · 1 评论 -
《完美Qt》之线程调用定时器
在线程中调用定时器嗨,大家好,我们都知道无论线程和定时器,这两个单独使用都非常简单,Qt帮助文档有很详细的Demo。但是在线程中使用定时器就稍微有点麻烦了,一不注意就容易掉坑里。首先理解connect的第五个参数很重要—连接类型1、connect的第五个参数介绍Qt::AutoConnection(Default) If the receiver lives in the thread that原创 2017-09-27 13:17:36 · 2632 阅读 · 0 评论 -
《完美Qt》之开机自启动及重启应用
下面代码实现了windows下的:开机自启重启应用#include <QApplication>#include <QWidget>#include <QDebug>#include <QSetting>#define REG_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Window...原创 2018-04-22 20:48:16 · 718 阅读 · 0 评论