随笔 - 156  文章 - 0  评论 - 35  阅读 - 72万 
02 2014 档案
重讲设计模式
摘要:原则:1 单一职责原则2 开放封闭原则3 里氏代换原则4 依赖倒转原则一 创建型模式1 简单工厂模式工厂方法模式抽象工厂模式简单工厂模式+反射机制可以替代抽象工厂模式反射机制:研究java的反射机制,为何C++没有,如何实现?2 原型模式主要解决OO语言深拷贝问题java、C#等通过实现cloneble接口。C++类嵌套实现复制拷贝函数3 建造者模式4 单例模式二 结构性设计模式5 适配器模式6 代理模式7 装饰者模式8 组合模式三 行为型8 策略者模式9 模板方法模式10 观察者模式11 备忘录模式A a;A a(); 编译器会当成函数声明A * a=new A();A * a=new A; 阅读全文
posted @ 2014-02-23 16:11 Yogurshine 阅读(195) 评论(0) 推荐(0) 编辑
宏定义要加括号
摘要:#define DI_INPUT_NUM 11+2int a = DI_INPUT_NUM * 3那么a = 11+2 *3 = 11+6 =17#define DI_INPUT_NUM (11+2)int a = DI_INPUT_NUM * 3那么 a =(11+2)*3 = 13*3=39上面2中情况可以看到第二种才是宏定义的本意。所以习惯性会加个括号,其实空定义不管是数字或者表达式,都必须加括号,这是编程的很好习惯。 阅读全文
posted @ 2014-02-18 15:32 Yogurshine 阅读(1589) 评论(0) 推荐(1) 编辑
enum hack
摘要:关于占用内存的大小,enum类型本身是不占内存的,编译器直接替换。但是enum类型的变量肯定是占内存的.class A{ public: //enum类型本身不占内存 enumEnumTest{ a =1,b =5};};class B{ public: private: //enum理想的变量会占用内存 enumEnumTest enumSample1;};int main(){cout <<"sizeof(Class A) = "<<sizeof(A)<< endl; cout <<"sizeof(Class B 阅读全文
posted @ 2014-02-18 15:25 Yogurshine 阅读(1863) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示