LinMinquan's Blog

Experience technology to change life

递归的缺点

同事写的一些代码中有递归,导致效率下降好多,在debug下非常明显,导致大家在用debug模式下打开文件调试非常慢。 解决办法就是不用递归的方式喽。 递归的优点是代码简洁,缺点是: 运行效率较低,需要额外的栈空间,所以空间消耗要比非递归代码大得多,出栈压栈也有开销,递归深度大时更是明显。 Read more →

SVN中tag branch trunk用法详解

参考链接:http://developer.51cto.com/art/201005/201718.htmTrunk是主干,最主要的代码主干; Branch是分支,一些针对稳定(发布)版本的小修改; Tag是标签,可以是milestone的,可以是发布的,也可以是有重要意义的版本。 Read more →

对Dialog上的控件进行布局,IsWindow(),Sizer类

想要在Dialog的size变化,或窗口移动时,对Dialog中控件进行重新布局。 其实主要是在OnSizer里加一reLayout函数,但是在第一次进入OnSizer时,界面上的按钮控件等还没有创建,hWnd都是NULL,在运行完OnInitDialog后才创建。 之前的解决办法是加一个bool的成员变量,在OnInitDialog时标记为true,然后在OnSizer里判断。老查同学看了觉得不好,给出了以下办法: 创建一个Sizer类,作为该Dialog类的成员变量,在OnInitDialog时new出来,在OnSizer时判断Sizer指针对象是否存在。Sizer类在还负责布局控件,在其构造函数时,把父窗口句柄,和窗口上的控件指针都传进去。这样就把布局和对话框独立开来。 2. Read more →

老查同学提的4种Accessor模式(未完)

2012.9.24更新 这是为了解决这样一种情况: A类里有C,B类想要访问A类里的C,但又不想因为A对象被删除时影响到B对C的使用。 主要用到了设计模式里面的克隆模式和观察者模式。 Object Data Flow Trigger Read more →