
STL
文章平均质量分 80
QtC++ 开发从业者
天道酬勤
展开
-
C++单例模式精讲
单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做转载 2017-08-11 10:26:43 · 270 阅读 · 0 评论 -
Boost库安装与使用
简介Boost库是一个可移植、提供源码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员近2000人。Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。Boost库中较著名库:1)Regex,正则表达式库;2)Spirit,LL pars...原创 2018-06-28 14:01:43 · 17179 阅读 · 0 评论 -
传指针和传指针引用的区别/指针和引用的区别
class d{public: int j = 122;};void fun(int * f){ //实参的地址不会变,但是内容可能会被改变std::cout << *f << std::endl; int k = 100;*f = 0; std::cout << *f << std::endl; f = &k; std::cout <...转载 2018-06-28 09:42:23 · 204 阅读 · 0 评论 -
C++ lambda表达式与函数对象 详解
C++ lambda表达式与函数对象lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。但是从本质上来讲,lambda表达式只是一种语法糖,因为所有其能完成的工作都可以用其它稍微复杂的代码来实现。但是它简便的语法却给C++带来了深远的影响。如果从广义上说,lamdba表达式产生的是函数对象。在类中,可以重载...转载 2018-06-27 18:17:27 · 2727 阅读 · 1 评论 -
简单工厂模式( Simple Factory Pattern )
1. 简单工厂模式( Simple Factory Pattern )目录简单工厂模式( Simple Factory Pattern )模式动机模式定义模式结构时序图代码分析模式分析实例简单工厂模式的优点简单工厂模式的缺点适用环境模式应用总结1.1. 模式动机考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个基类,不过在...翻译 2018-06-26 10:32:35 · 195 阅读 · 0 评论 -
非常齐全的QT数据库操作详解
#include <QtSql>QT += sqlQSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录第一:QSqlDatabase类QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 采用QSQLITE数据库,QMYSQL数据库有问题?db.set...转载 2018-06-24 22:56:40 · 20252 阅读 · 3 评论 -
RegCreateKeyEx 函数簇详解
RegCreateKeyEx 通过RegCreateKeyEx函数可以在 .... RegSetValueEx函数可以设置注册表中键的值,如今修改注册表成为继超频之后的又一大热点,许多CFAN通过对注册表的修改使Win98显得更加个性化,诸多报刊杂志也纷纷扯起注册表这面旗帜,令人遗憾的是,在介绍注册表修改的众多的文章中,大都以手工修改为例,极少数文章也只介绍有关修改注册表软件的用法,至于如何在原创 2017-10-16 16:12:49 · 5242 阅读 · 0 评论 -
DeviceIoControl使用说明
DeviceIoControl的使用说明16:29 15972人阅读 评论(0)收藏举报应用程序和驱动程序的通信过程是:应用程序使用CreateFile函数打开设备,然后用DeviceIoControl与驱动程序进行通信,包括读和写两种操作。还可以用ReadFile读数据用WriteFile写数据。操作完毕时用CloseHandle关闭设备。我们比较常用的就是用De转载 2017-10-16 14:53:12 · 598 阅读 · 0 评论 -
在VS中添加lib库的三种方法
在VS中添加lib库的三种方法注意:1、每种方法也要复制相应的DLL文件到相应目录,或者设定DLL目录的位置,具体方法为:"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了2、无论是设置DLL目录,或者是Lib目录,亦或是头文件的目录,都有r转载 2017-09-22 10:29:05 · 738 阅读 · 0 评论 -
c++标准库wstring实现原理
C++程序员编码过程中经常会使用string(wstring)类,你是否思考过它的内部实现细节。比如这个类的迭代器是如何实现的?对象占多少字节的内存空间?内部有没有虚函数?内存是如何分配的?构造和析构的成本有多大?笔者综合这两天阅读的源代码及个人理解简要介绍之,错误的地方望读者指出。首先看看string和wstring类的定义:typedef basic_stringc原创 2017-09-06 11:08:01 · 2313 阅读 · 0 评论 -
c++构造函数类型的讲解
// complex.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>class complex{private: double m_real; double m_image;public: //complex(); //普通的拷贝构造函数 complex() //无参数构造函数 { this->m_rea...原创 2018-06-29 09:47:41 · 900 阅读 · 0 评论