• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我叫周某某
路漫漫其修远兮 吾将上下而求索
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

随笔分类 -  Effective c++

 
绝不要在构造函数和析构过程中调用virtual函数
摘要:下面是一个用来塑模股市交易的类: derived的类的构造函数被调用,但是首先得调用基类Transaction的构造函数,但是在后面还得调用virrual函数,这个时候子类的对象的构造还没有完成,那么虚函数也就没有意思,也就可以说虚函数现在还不是虚函数,在derived class对象构造期间,对象的类型还是base类的而不是derived class。不光是virtual函数会被解析为bas... 阅读全文
posted @ 2015-05-22 11:10 周某某 阅读(450) 评论(0) 推荐(0)
别让异常逃离析构函数
摘要:c++中并不禁止析构函数吐出异常,但是并鼓励这样做,看下面代码: 当vector v被销毁时,它有责任将其中所有的widgets销毁并且回收内存,而在析构第一个元素时候,析构函数会抛出异常,但是第二个vector的时候也会抛出异常,这对于c++来说太多了。这会导致程序不明确的行为。c++不喜欢析构函数吐出异常。 那么如果你的析构函数必须执行一个动作,而且该动作可能在失败时候抛出异常,怎么办... 阅读全文
posted @ 2015-05-21 14:46 周某某 阅读(455) 评论(0) 推荐(0)
 


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3