摘要: 一、#,##的用法1、“#”的作用是将其后面的宏参数进行字符画操作,简单的说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。1 1 #define FUN(a) #a2 2 FUN(abc); //等价于“abc”2、“##”就是一个连字符,用来将两个Token连接为一个Token。这里的链接对象是Token就行,而不一定是宏变量。1 #define FUN(a,b) a##n##b2 FUN(i,t) a; //等价于int a;3、“L##”不同于“##”,它是在宏参数前面加上L。1 #define FUN(a) L##a2 FUN(str);//等价于Lstr 阅读全文
posted @ 2012-10-17 15:53 随风飘落的雨滴 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 一、简介1、名称:简单工厂模式又称为静态工厂模式。2、功能:定义一个用于创建对象的父类或者接口。3、实现方式:由工厂类根据传入的参数,动态决定创建哪一个产品类。二、参与者1、工厂(Creator)类角色:负责实现创建所有实例的内部逻辑。工厂类可以被外界调用,创建所需产品的对象。2、抽象产品(Product):简单工程模式创建的对象(具体产品)的父类或接口。它负责描述所有实例共有的公共接口。3、具体产品(ConcreteProduct)角色:简单工厂模式的创建目标,所有创建的对象都是此角色的实例(某个具体类创建)。三、类图,代码参考博客:http://hlzhou.iteye.com/blog/ 阅读全文
posted @ 2012-10-17 13:45 随风飘落的雨滴 阅读(185) 评论(0) 推荐(0) 编辑