Effective C++(一)

Effective cpp

1 让自己习惯C++

条款1:C++为语联邦言

条款2:尽量以const,enum,inline替换#difine
(1)对于单纯常量,最好以const对象或enums替换#defines
(2)对于形似函数的宏(macros),最好改用inline函数替换#inlines
#define的问题在于编译器未必能够看到,万一发生错误,是比较令人头疼的。,++多次调用

条款3:尽可能使用const
mutable对于总是会变的成员变量
强转:避免在const和non-const成员函数中避免重复,也易于维护,另外减小编译时间
但是只能non-const调用const版本,反向做法应该避免
(1)利用const可以帮助编译器侦测出错误用法。可被施加在任何作用域对象、函数参数、函数返回类型、成员函数本体
(2)编译器强制实施按位常量性(bitwise constness),但是编译时应该使用“概念上的常量性”(conceptual constness)
(3)当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复

条款4:确定对象被使用前已被初始化
(1)手动初始化内置型对象
(2)构造函数的较佳写法是,用成员初值列替换赋值动作。避免了default构造函数,效率高。初始化顺序与声明顺序相同,排列顺序最好与声明顺序相同
(3)为避免“跨编译单元之初始化次序”问题,用local static对象替换non-local static对象(没有太懂)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值