- 博客(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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人