《Effective Modern C++》学习笔记 - Chapter 3. 走向现代C++

第三章

C++11和C++14有大量可以炫耀的特征:auto,智能指针,移动语义,lambda表达式,多线程等等。它们每个都很重要,值得拿出一章来讲解。但在此之前我们还需要走好从C++98到现代C++的每一小步:什么时候应该用大括号而不是小括号创建对象?为什么别名声明(alias declaration)优于 typedefconstexprconst 有何区别?const 成员函数与线程安全有什么关系?等等等等,本章就将一个接一个回答这些问题。

以下为各条款(Item)链接:
Item 7: 区分创建对象时使用 () 和 {}
Item 8: 倾向于使用 nullptr 而不是 0 或 NULL
Item 9: 倾向于使用别名声明(alias declaration)而不是 typedef
Item 10: 倾向于使用有界的枚举(scoped enum)而不是无界的枚举(unscoped enum)
Item 11: 倾向于使用delete而不是private+只声明不定义来屏蔽函数
Item 12: 使用 override 关键字声明重写函数
Item 13: 使用迭代器时尽可能使用 const_iterator
Item 14: 对不会产生异常的函数使用 noexcept 声明
Item 15: 尽可能使用 constexpr
Item 16: 确保 const 成员函数线程安全
Item 17: 理解特殊成员函数的生成

笔者认为本章全面地覆盖了C++11中很多基石性质的特性,属于基本功的修炼,非常值得各位认真研读。我们下章智能指针见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值