为什么有些 MFC 类不是从 CObject 派生的?

AKN*_*AKN 2 mfc visual-c++

通常大多数 MFC(基于窗口的类)是从 CObject 派生的。CObject 有什么作用?为什么某些 MFC 类不需要从 CObject 派生?

for*_*idt 5

根据MSDN CObject主要提供了这些功能:

  • 序列化支持
  • 运行时类信息
  • 对象诊断输出
  • 与集合类的兼容性

因此,当这些都不需要时,就不需要从CObject. 从 派生时也涉及
一些开销(DECLARE/IMPLEMENENT_SERIAL/DYNAMIC宏)CObject,因此可能有比从 派生更简单的做事方法CObject