C++只允许实例化一次的类
摘要:1. 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。2. 动机 对一些类来说,只有一个实例是很重要的。虽然系统中可以有许多打印机,但却只应该有一个打印假脱机( printer spooler),只应该有一个文件系统和一个窗口管理器。一个数字滤波器只能有一个A / D转换器。一个会计系统只能专用于一个公司。 我们怎么样才能保证一个类只有一个实例并且这个实例易于被访问呢?一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个对象。一个更好的办法是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。
阅读全文
posted @
2012-04-22 16:01
知识天地
阅读(5846)
推荐(0) 编辑
C++观察者模式
摘要:* 观察者模式* [说明]* 在一公文处理系统中,开发者定义了一个公文类OfficeDoc, 其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或*状态发生变化时,关注此OfficeDoc 类对象的相应的DocExplorer 对象都要更新其自身的状态。一个OfficeDoc 对象能够关联一组*DocExplorer 对象。当OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称*为观察者模式。** 例如MFC的DOC、VIEW架构都是基于这种观察者的模式。* 本代码还用了一种标示的方法实现了在运行时辨识对象。* RTT.
阅读全文
posted @
2012-04-22 15:57
知识天地
阅读(1200)
推荐(0) 编辑
设计模式C++学习笔记之十六(Observer观察者模式)
摘要:概念:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。main(),IObservable,被观察者接口CHanFeiZiObservable,被观察者韩非子IObserver,观察者接口CLiSiObserver,观察者李斯CZhouSiObserver观察者周斯说明:将观察者聚集到被观察者韩非子身边,韩非子的每一个举动都会通知给观察者,如李斯或周斯。注意:最多允许一个对象既是观察者也是被观察者。就像数据库中的触发器一样,成为一个复杂的链就很难维护了。观察者类似于委托的处理方式。//IObservable.h#pragma once#i
阅读全文
posted @
2012-04-22 15:55
知识天地
阅读(364)
推荐(0) 编辑
C++获取一个文件夹下的所有文件名(转)
摘要:C++获取一个文件夹下的所有文件名window + vs2005:#ifndef FUNC_H#define FUNC_H#include <string>#include <vector>#include <fstream>#include <windows.h>using namespace std;vector<string> & get_filelist(char *foldname){vector<string> flist;HANDLE file;WIN32_FIND_DATA fileData;cha
阅读全文
posted @
2012-04-04 15:44
知识天地
阅读(8820)
推荐(0) 编辑
重磅分享:微软等数据结构+算法面试100题全部答案完整亮相
摘要:本文转载自CSDN大牛的一篇博客:http://blog.csdn.net/v_july_v/article/details/6870251作者:July、阿财时间:二零一一年十月十三日。我能够看到此文,还要多谢陈同学!让我得以及时分享给大家引言 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享出微软面试全部100题答案的完整版,以作为对读者的回馈。一 年之前的10月14日,一个名叫July的人在一个叫csdn的论坛上开帖分享微软等公司数据结构+算法面试100题,自此,与上千网友一起思考,解答这 些面试题目,最终成就了一个名为:结构之
阅读全文
posted @
2012-03-15 07:36
知识天地
阅读(1233)
推荐(0) 编辑
用C/C++写CGI程序
摘要:使用CGIC库的简要:库的函数说明: http://www.boutell.com/cgic/#cgiFormStringNoNewlines1. 打印CGI标准输出头部:cgiHeaderContentType("text/plain");或者:fprintf( stdout, "Content-type:text/plain\n\n");红色部分不能写出“Contenttype”,否则浏览器显示网页会不正常。2. 处理Request Method://deal with "GET"/"POST" method
阅读全文
posted @
2012-03-13 18:49
知识天地
阅读(1525)
推荐(0) 编辑
VS2005错误 missing ';' before identifier 'PVOID64
摘要:问题: 1>d:/program files/microsoft visual studio 8/vc/platformsdk/include/winnt.h(223) : error C2146: syntax error : missing ';' before identifier 'PVOID64'1>d:/program files/microsoft visual studio 8/vc/platformsdk/include/winnt.h(223) : error C4430: missing type specifier - int
阅读全文
posted @
2012-03-12 23:45
知识天地
阅读(1102)
推荐(0) 编辑
Bezier曲线原理及实现代码(c++)
摘要:Bezier曲线原理及实现代码(c++)2009-06-30 18:50:09|分类:数据结构与算法|字号订阅一、原理:贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau 算法开发,以稳定数值的方法求出贝塞尔曲线。线性贝塞尔曲线给定点P0、P1,线性贝塞尔曲线只是一条两点之间的直线。这条线由下式给出:且其等同于线性插值。二次方贝塞尔曲线的路径由给定点P0、P1、P2的函数B(t) 追踪:。TrueType
阅读全文
posted @
2012-02-24 10:31
知识天地
阅读(5924)
推荐(0) 编辑
OpenCV资料
摘要:OpenCV中国论坛精华区和资料汇总Image Processing & Computer Vision with OpenCVgnuhpc的专栏 - CSDN博客hellogv的专栏 - CSDN博客onezeros的专栏 - CSDN博客opencv一月通(抛砖引玉版)zhujiang73 - ChinaUnix博客 - IT人与你分享快乐生活图像处理 - 无涯 - 博客园图像处理-blog's Blog图像处理-webuserzhy's BlogRadiant Sun 旭的日志 - 网易博客OpenCV学习笔记 收藏 - 芋头的专栏 - CSDN博客OpenCV例
阅读全文
posted @
2012-02-21 14:48
知识天地
阅读(1584)
推荐(1) 编辑
虚拟键值表
摘要:虚拟键值表2009-08-01 12:542006-12-21 18:42虚拟键十六进制值十进制值相应键盘或鼠标键VK_LBUTTON011鼠标左键VK_RBUTTON022鼠标右键VK_CANCEL033Ctrl-Break键VK_MBUTTON044鼠标中键VK_BACK088Backspace键VK_TAB099Tab键VK_CLEAR0C12Clear键VK_RETURN0D13Enter键VK_SHIFT1016Shift键VK_CONTROL1117Ctrl键VK_MENU1218Alt键VK_PAUSE1319Pause键VK_CAPITAL1420Caps Lock键VK_ES
阅读全文
posted @
2012-02-21 10:59
知识天地
阅读(321)
推荐(0) 编辑
进程间通信方式
摘要:3.4.1共享内存在相互通信的进程之间设有一个公共内存区,一组进程向该公内存中写,另一组进程从化共内存中读,通过这种方式实现两组进程间的信息交换。这种通信模式需要解决两个问题:第一个问题是怎样提供共享内存;第二个是公共内存的互斥关系则是程序开发人员的责任。3.4.2消息机制消息机制是用于进程间通信的高级通信原语之一。进程在动身过程中,台能需要与其他的进程进行进程交换,于是进程通过某种手段发出自己的消息或接收其他进程发来的消息。这种方式类似于人们通过邮局收发信件来实现交换信息的目的。至于通过什么手段收发消息,就像人们选择平信还是航空信一样,是一种具体的消息传递机制。1、 消息缓冲通信消息缓冲通信
阅读全文
posted @
2012-02-21 10:55
知识天地
阅读(7013)
推荐(2) 编辑
ImageMagick操作--合并图像(二)
摘要:操作中使用的素材189.pngbackground.pnggradient_back.pngold.pngoverlay.pngshaded.png12、图片乘法操作黑色像素和其它颜色进行乘法,会显示为黑色,白色像素进行乘法,不会改变别的颜色。乘法操作通常可以使图片颜色变暗。指定操作方法(multiply)、顶层图片尺寸及坐标位置(114x114+0+0)。convert gradient_back.png -compose multiply old.png -geometry 114x114+0+0 -composite new.png13、图片反向乘法操作黑色像素和其它颜色进行反向乘法,不
阅读全文
posted @
2012-02-20 18:36
知识天地
阅读(2840)
推荐(0) 编辑
ImageMagick 图片处理 函数说明和使用举例
摘要:ImageMagick 函数说明和使用举例,作者:打打 QQ:1069576404首先,加载php_imagick.dll扩展模块,也就是在网上找到php_imagick.dll文件,把它放在php.ini同级的目录中,然后,在php.ini里加上extension=php_imagick.dll,重启服务器就可以了。函数说明:$images = new Imagick("ALIM2382.JPG");//新建 Imagick 类$images->getImageHeight();//获得图片高$images->getImageWidth();//获得图片宽$i
阅读全文
posted @
2012-02-20 18:20
知识天地
阅读(2080)
推荐(0) 编辑
一种简单的色彩平衡算法的OPENCV实现
摘要:很久之前看过一篇关于色彩平衡文章,在该文章中介绍了一种非常简单高效的色彩平衡算法。下图是算法的演示效果(左边为处理后的图像,右边为处理前的图像)。从图中可以看出算法有效的改善的图像的色彩,使得色彩更加的真实。下面是实现代码#include "stdafx.h" #include "cv.h" #include "cxcore.h" #include "highgui.h" #pragma comment(lib, "cv.lib") #pragma comment(lib, "cxco
阅读全文
posted @
2012-02-20 16:22
知识天地
阅读(3538)
推荐(0) 编辑
【推荐收藏】Visual Studio 插件库(转)
摘要:【推荐收藏】Visual Studio 插件库update 2008年5月31日23:49:10一日来的回复,发现大家均把焦大放在了一个 AutoCode 这个插件上,AutoCode 的确很酷只是本来初衷是想告诉大家常到VisualStudioGallery挖挖,也可以发现很多有用插件,能极大提升基于VS开发的效率。偶然发现了MS官方主办的VisualStudioGallery(http://www.visualstudiogallery.com/) ,汇集了各种各样的VS插件,有开源的有免费的也有商业的。有时间了多挖一些插件出来与大家分享。下了一个AutoCode确实很酷,DEMOupda
阅读全文
posted @
2012-02-16 14:53
知识天地
阅读(273)
推荐(0) 编辑
VC++和Matlab
摘要:一、前言Matlab是由Mathworks公 司推出的一种应用软件,最早用于线性代数的教学,由于其丰富的矩阵运算,强大的扩展能力和可靠性,已经被广泛用于信号处理,系统辨识,仿真,多变量控制, 最优控制,模糊控制,数学工具,神经网络,它的工具箱内容涉及信号处理,自动控制,图像处理,经济,数学,化学等不同领域。同时,MathWorks公司从创立至今始终追踪各领域的最新进展,这无疑是最明智,最富远见的举措。对广大用户来说,无疑提供了成功的机会。对于各种理论方案研究来说,Matlab无疑有它的先天优势,其强大的数据处理能力和丰富的工具箱,使得它的编程极为简单,可以极大地缩短应用程序开发周期,提高编程效
阅读全文
posted @
2012-02-16 14:49
知识天地
阅读(6925)
推荐(1) 编辑
产生的DLL (VS2005, MATLAB7.5, mwArray)
摘要:from:http://www.simwe.com/forum/thread-801187-1-1.html程序中使用MATLAB编译产生的DLL (VS2005, MATLAB7.5, mwArray)最近有几个帖子都在讨论有关在C++程序中使用MATLAB编译产生的动态链接库DLL。本 来想用原来帖子中给出的m代码作为例子,无奈那段代码其实无法执行。为了避免分散注意力,也为了更好地讨论问题,于是决定还是另外新开一个主题,以简单的 例子,和大家一起讨论如何在C++程序中使用matlab编译产生的DLL。同时MATLAB最新版本R2007b刚刚发布不久,其中包含编译器4.7版,有了一些新的特性
阅读全文
posted @
2012-02-16 14:47
知识天地
阅读(1380)
推荐(0) 编辑
多线程VC++和Matlab混编在信号采集和处理中的应用
摘要:摘要:在 信号采集和处理过程中,Visual C++存在数据处理和结果显示方面的不足,Matlab存在可视化和数据采集方面的不足,本文在Visual C++环境下调用Matlab Engine函数,有效地解决了这两方面的问题;采用多线程编程技术,同时采集和显示信号,有效地防止了采样过程中的掉点。利用本方法对UA302型采集 卡采集到的信号进行处理,得到了满意的结果。Singal Sampling and Processing Based on Mixed Programming with Multi-Thread VC++ and MatlabLi Ning,Qin Shuren,Wu Yin
阅读全文
posted @
2012-02-16 14:46
知识天地
阅读(997)
推荐(0) 编辑
[转]MATLAB 与 C 语言的接口
摘要:东北大学 薛定宇 (原作)转载时请注明作者信息、网址,谢谢 MATLAB 到 C 语言程序的转换可以由两种途径完成,其一是 MATLAB 自己提供的 C 语言翻译程序 mcc, 另一种是原第 3 方公司 MathTools 开发的 MATCOM。后者出现较早,功能远比 MATLAB 自己的翻译程序强大,所以 MathTools 公司已经被 MathWorks 公司收购,并已将其开发技术融于新推出的 MATLAB 6.0 (Release 12) 中。 依本人的观点,二者都不完善,有大量的 MATLAB 函数及数据类型是不能兼容变换的,所以有时会发现将简洁的 MATLAB 程序翻译成 C 语言程
阅读全文
posted @
2012-02-16 14:25
知识天地
阅读(6372)
推荐(1) 编辑
图形学的几个非常有用的转换
摘要:1:将指定区域保存为位图信息,此区域如果从控件得到的dc而来,可以对指定控件抓图HBITMAP CopyScreenToBitmap(LPRECT lpRect)//lpRect 代表选定区域{HDC hScrDC, hMemDC;// 屏幕和内存设备描述表HBITMAP hBitmap, hOldBitmap;// 位图句柄int nX, nY, nX2, nY2;// 选定区域坐标int nWidth, nHeight;// 位图宽度和高度int xScrn, yScrn;// 屏幕分辨率// 确保选定区域不为空矩形if (IsRectEmpty(lpRect))return NULL;/
阅读全文
posted @
2012-02-16 14:18
知识天地
阅读(714)
推荐(0) 编辑