C++博客 :: 首页 :: 联系 ::  :: 管理
  163 Posts :: 4 Stories :: 350 Comments :: 0 Trackbacks

常用链接

留言簿(48)

我参与的团队

搜索

  •  

积分与排名

  • 积分 - 393093
  • 排名 - 58

最新评论

阅读排行榜

评论排行榜

2008年1月22日 #

posted @ 2008-01-22 14:34 sdfasdf 阅读(933) | 评论 (2)编辑 收藏

     摘要: c++语言标准关于这个问题的阐述非常清楚:当通过基类的指针去删除派生类的对象,而基类又没有虚析构函数时,结果将是不可确定的。  阅读全文
posted @ 2008-01-22 11:39 sdfasdf 阅读(8599) | 评论 (4)编辑 收藏

     摘要: 我们知道,对一个对象的所有成员来说,它们的析构函数被调用的顺序总是和它们在构造函数里被创建的顺序相反。那么,如果允许上面的情况(即,成员按它们在初始化列表上出现的顺序被初始化)发生,编译器就要为每一个对象跟踪其成员初始化的顺序,以保证它们的析构函数以正确的顺序被调用。这会带来昂贵的开销。所以,为了避免这一开销,同一种类型的所有对象在创建(构造)和摧毁(析构)过程中对成员的处理顺序都是相同的,而不管成员在初始化列表中的顺序如何。  阅读全文
posted @ 2008-01-22 10:46 sdfasdf 阅读(6214) | 评论 (1)编辑 收藏

     摘要: 把为类的成员变量赋值的工作尽量在构造函数的初始化列表中,而不是放在构造函数内部进行。这两种方法的差别主要是效率的差别,放在初始化表中,只有只有一个拷贝构造函数调用,而放在构造函数内部有构造函数和赋值函数两个函数调用。  阅读全文
posted @ 2008-01-22 10:26 sdfasdf 阅读(2347) | 评论 (0)编辑 收藏