转向现代C++

本文最后更新于:August 25, 2022 pm

C++11和C++14中,很多现代的语言特性值得称道,比如auto关键字、智能指针、移动语义、lambda表达式,以及并发API,它们每一个都成为构筑现代C++不可或缺的一部分,以至于在本系列博客中,对于上述提到的每一部分,我们都花了一整个章节来讨论之。

诚然,理解这些大块头很重要,但是在我们出发成为一个更优秀的现代C++开发者之前,需要先理顺一些更细节的内容。本章节将花大力气来处理这些细小琐碎之物,比如当创建对象时,何时应该使用(),何时应该使用{}?为什么别名声明比typedef更好?constexpr和const到底有什么区别?常量成员函数和线程安全之间又有什么关系?类似的问题还可以列出一大堆,本章就来一一解答这些问题

导航

Item7:当创建对象时,区分()和{}

Item8:使用nullptr,而非0或者NULL

Item9:尽量使用类型别名,而非typedef

Item10:优先使用有限范围的枚举类型

Item11:优先使用delete禁用成员函数

Item12:使用override声明重写的函数

Item13:关于迭代器,尽量使用const_iterator

Item14:使用noexcept以表明函数不会抛出异常

Item15:尽可能地使用constexpr

Item16:让常量成员函数线程安全

Item17:理解特殊成员函数的生成


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!