Effective C++学习笔记——概要
上学期间零零散散的学过C++,但是没有系统完整的看完一本高质量书,最近时间空闲,借此机会争取完成Effective C++的学习。工作前大概还有六十天左右的时间,这期间打算将Effective C++彻底啃一遍,深入理解其中知识点,并且做一些简单的C++开源项目辅助练习,希望能够坚持下来。
概要
本书主要教导一些C++运用经验,如何使编写代码易于理解、维护,可移植、可扩充,并且高效高质量。
1. 术语:
声明式(declaration):告知编辑器某个参数的名称和类型。
extern int x; //对象(object)声明式
std::size_t numDigits(int number); //函数(function)声明式
class Widget; //类(class)声明式
template<typename //模板(template)声明式
签名式(signature):参数和返回类型,函数的签名就是函数的类型。C++官方未将返回类型视为签名式。
定义式(definition):是编译器为对象拨发内存的地点。
对 function 或 function templat 而言,定义式提供了代码本体。
对 class 或 class template 而言,定义式列出他们的成员。
初始化(initialization):给予对象初值的过程。
STL(Standard Template Library)标准模板库:赛季哦C++标准程序库的一部分,
致力于容器、迭代器、算法及相关机能。STL可参考 Effective STL 或 STL源码解析。
不明确行为(undefined behavior):无法稳定预估运行期会发生什么事。有经验的C++程序员会坚决避免该事件发生。
接口(interface):C++中接口通常为函数的签名(signature) 或 class的可访问元素 或 template类型参数需为有效的一个表达式,即一般性的设计概念。
2. 命名习惯:
3. 线程:
本书焦点放在便准可移植的C++程序,但线程的安全性(thread safety)仍是十分重要的。
4. TR1 和 Boost:
TR1(Technical Report 1):是一份规范,描述加入C++标准程序库的许多新机能。
Boost(http://boost.org):提供可移植、同僚复审、源码开放的C++程序库。