自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 BAT - Label也可以接受参数

@echo offcall :back 3 4 5:backecho %1 %2 ==> 输出 3 4pause

2008-06-25 17:31:00 574 1

转载 什么是契约—Eiffel的观点

作者:孟岩 来源:CSDN博客http://blog.csdn.net/myan/archive/2003/02/11/1921.aspx假设你现在正在面试,主考不紧不慢地给出下一道题目:“请用C语言写一个类似strcpy的函数。要考虑可能发生的异常情况。”你会怎么做呢?很明显,对方不是在考察你的编程能力,因为复制字符串实在太容易了。对方是在考察你的编程风格(习惯),或者说,要看看你编码的质量。

2008-05-14 21:57:00 492

转载 宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现

The C++ Programming Language 3rd》中有这么两段话:from 4.3:A type wchar_ t is provided to hold characters of a larger character set such as Unicode. It is a distinct type. The size of wchar_t is implementation

2008-04-03 14:08:00 937

转载 ANSI,ASCII,Unicode的区别与联系

快下班时,爱问问题的小朋友Nico又问了一个问题: "sqlserver里面有char和nchar,那个n据说是指unicode的数据,这个是什么意思。" 并不是所有简单的问题都很容易回答,就像这个问题一样。于是我答应专门写一篇BLOG来从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好…… 很久很久以前,有一群人,他们

2008-03-27 19:13:00 11670 19

转载 用户配置文件漫游与文件夹重定向不是一回事

本文针对于微软视窗操作系统,更具体的是针对于Windows 2000及以上版本(Windows 2000,Windows XP,Windows 2003)。为了照顾初级读者,我们从零说起!什么是用户配置文件呢?        用户配置文件,顾名思意,用户配置文件是用来保存用户个性化设置的文件,例如在系统中新建了两个用户:jebom,soka。在系统里就会有两个用户配置 文件夹:jebom,so

2008-03-27 13:46:00 1664

转载 错误处理(Error-Handling):为何、何时、如何(rev#2)

错误处理(Error-Handling):为何、何时、如何(rev#2) By 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba)TopLanguage(http://groups.google.com/group/pongba) 引言错误处理(Error-Handling)这个重要议题从1997年(也许更早)到2004年左右

2008-03-20 19:04:00 449

转载 你应当如何学习C++(以及编程)(rev#1)

你应当如何学习C++(以及编程)(rev#1) By 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba) Javascript是世界上最受误解的语言,其实C++何尝不是。坊间流传的错误的C++学习方法一抓就是一大把。我自己在学习C++的过程中也走了许多弯路,浪费了不少时间。 为什么会存在这么多错误认识?原因主要有三个,一是C+

2008-03-20 19:03:00 429

转载 DirectX Installation for Game Developers翻译

DirectX Installation for Game DevelopersJason Sandlin, Software Development LeadChuck Walbourn, Software Design EngineerMicrosoft Game Technology GroupDecember 2006This article is intended t

2008-02-22 16:45:00 1883

原创 用VC创建并使用DLL

为何DLL先看看静态库与DLL的不同之处可执行文件的生成(Link期):前者很慢(因为要将库中的所有符号定义Link到EXE文件中),而后者很快(因为后者被Link的引入库文件无符号定义)可执行文件的大小:前者很大,后者很小(加上DLL的大小就和前者差不多了)可执行文件的运行速度:前者快(直接在EXE模块的内存中查找符号),后者慢(需要在DLL模块的内存中查找,在另一个模块的内存中查找自然较慢)可

2008-01-16 18:54:00 8768 3

原创 以查找表取代switch...case

传统的以多态取代switch...caseMartin Flower的著作《重构》告诉我们应该以多态取代switch...case,比如一个经典的Shape绘图的例子:void Draw( Shape* shape ) {    switch( shape.type ) {        case line: dynamic_cast( shape )->Draw(); break;       

2008-01-11 14:19:00 2130 2

原创 消息映射深度探索(5):总结

孰优孰劣上面我们讨论了实现消息映射的两种方案:1. 使用消息映射表2. 使用虚函数在效率上我们可以看出前者胜出,内存使用上后者胜出(前提是后者不使用查找表替换switch...case)。所以看其来大家各有优劣。使用消息映射表必然要使用宏,除非事先这些宏已经制作完成,否则如果写这样的宏必然是件非常痛苦的事情。所以消息映射表的方式通常被用在Framework的实作,比如MFC等。而虚函数的制作相当方

2008-01-11 13:36:00 541

原创 消息映射深度探索(4):职责链模式 - 使用虚函数替换映射表

下面我们将介绍另一种实现消息映射的方式:职责链模式#include #include #include #define PRINT( msg ) { std::cout #define FUNC( func ) void func() { PRINT( #func##"()" ); }#define MFUNC( class, func ) void func() { PRINT( #class#

2008-01-11 13:27:00 824

原创 消息映射深度探索(3):使用宏简化操作

消息映射网的建立可以用宏定义出来,以简化派生类的操作:#include #include #include #define PRINT( msg ) { std::cout #define FUNC( func ) void func() { PRINT( #func##"()" ); }#define MFUNC( class, func ) void func() { PRINT( #clas

2008-01-10 19:25:00 668

原创 消息映射深度探索(2):MFC的做法 - 使用消息映射表

在MFC被成功做出来之前,一个最简单的想法就是使用虚函数,为每个消息定制一个虚函数,下面是个可能的实现:#include #include #include #define PRINT( msg ) { std::cout #define FUNC( func ) void func() { PRINT( #func##"()" ); }#define MFUNC( class, func ) v

2008-01-10 19:24:00 1628

原创 消息映射深度探索(1):基础面

消息映射这项技术,给消息横向(多个类对象)或纵向(继承树)流动的机会。 此技术最初之发展动机是为了简化win32程序的消息处理过程,后来也被应用到网络程序的消息处理。一旦某个消息到达win32消息处理函数,此函数就会 使用一个switch...case映射网将此消息映射至相应处理函数。switch...case具有与生俱来的缺点:难于扩展,效率低下。随着消息的 增多,switch...case

2008-01-10 19:22:00 756

原创 单件和仿单件的各种做法探讨

#include #include using namespace std; //////////////////////////////////////////////////////////////////////////////// class Singleton { public:     static Singleton& Instance() {        

2008-01-07 15:21:00 1086

原创 工厂方法(Factory Method)之追根究底

简介工厂方法,通常又被称作虚构造函数,给一个ID,就可以产出一个对象。了解设计模式的人都知道这样一份臭名昭著的实现:// ---------------------------------------------------------------------------------// Shape.henum ShapeType { ShapeType_Line, ShapeType_Trian

2008-01-07 12:32:00 2036 2

大名鼎鼎的Windows调试工具WinDbg

大名鼎鼎的Windows调试工具WinDbg 版本是:6.9.3.113

2008-10-20

成员函数指针与高性能的C++委托

成员函数指针与高性能的C++委托着重描述C++中如何实现其他面向对象语言如C#,JAVE中的委托功能

2008-10-20

空空如也

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

TA关注的人

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