查看单个帖子
  #12 (permalink)  
旧 2008-07-29
bankrock 的头像
bankrock bankrock 当前离线
高级会员
 
注册日期: 2003-12-11
帖子: 847
文章: 7
bankrock 正向着好的方向发展
默认 回复: 为什么会crash?

virtual dtor语义上需要实现的就是:销毁基类指针时会调用实际所指向对象的dtor,之后的析构过程和普通对象的析构过程相同,这些C++ Primer或者TCPL上都有将的。我个人觉得最好不要管vtbl是怎么运作的,这些都应该被隐藏在编译器实现里,程序员只要管好语义正确就可以。
另外CleanupManager的清理方式有些奇怪,照理Interface不过提供了一些使用的接口函数,为什么要作为一个CleanItem存储到CleanupManager,难道这些结构提供的都是销毁功能的接口?
回复时引用此帖