首先,需要纠正一下你的错误,这不是一个结构而是一个宏。
之所以要使用它的原因也很简单,你愿意在代码中写
IMPLEMENT_DYNAMIC还是愿意写一大堆你所罗列的代码呢?
它是不是很简便,而且还避免你可能在输入时的错误。而在编译器看来他们完全是相同的,丝毫不影响效率。那么何乐而不为呢?

解决方案 »

  1.   

    你说的是IMPLEMENT_DYNAMIC宏
    而我说的是AFX_CLASSINIT,这是个struct
    我是说直接就能实现,为什么还要定一个结构来实现
      

  2.   

    原理相同,该结构不仅仅在IMPLEMENT_DYNAMIC中使用,在很多其它的宏中也都有使用,难道在每地方都写一大堆代码吗?就象函数一样,你完全可以在每一个出现函数调用的地方将其换成函数内部的代码,但为什么还要用函数呢?C++中有一种函数叫内联函数,它就是为了效率来这样做的,不过它不是由人来做,而是由编译器来实现的,为什么呢?原因不也是不必去做无用的重复劳动吗?
      

  3.   

    MFC重用这个类的构造函数来执行那两句话,为什么不用另外的宏,而药用结构呢?