史上最简练的effective c++(条款26-31)实现

史上最简练的effective c++(条款26-31)实现

  • 条款26——尽可能延后变量定义式出现的时间
    为了避免异常抛出,早声明的变量未使用;
    循环中中的定义应该大多数情况下移到循环之前;
  • 条款27——尽量少做转型动作
    const_cast:常量性移除;
    dynamic_cast: 向下转型;
    reinterpret_cast:低级转型,比如指针转非指针;
    static_cast:强迫隐式转换,无法转化const;
    如果转型必要,尽量隐藏在函数背后,避免用户不必要的麻烦;
    试着用virrtual、重载、代替转型(个人理解);
  • 条款28——避免返回handles指向的对象内部成分
    增加封装性;
  • 条款29——为异常安全而努力是值得的
    基本承诺:异常抛出,程序保持有效状态任何数据结构、对象不败坏;
    强烈保证:程序状态不改变;函数只有成功或者失败(copy and swap技术基本实现);
    不抛掷保证:不抛出异常;
    注意可能抛出异常的操作;
  • 条款30——彻底了解inclining
    小型、频繁使用的函数;
    慎用incline;
    drived_class的构造函数可能包含众多安全性的代码,不宜incline;
  • 条款31——将文件间的编译依存关系降至最低
    声明的依存性替换定义的依存性;
    简单来说就是最基本的头文件声明源文件定义;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值