条款 53:不要轻忽编译器的警告。
请记住:
- 严肃对待编译器发出的告警信息。努力在你的编译器最高(最严苛)的警告级别下争取"无任何警告"的荣誉。
- 不要过度依赖编译器的告警能力,因为不同的编译器对待事情的态度并不相同。一旦移植到另一个编译器上,你原本依赖的警告信息有可能消失。
条款 54:让自己熟悉包括 TR1 在内的标准程序库。
在 C++ 中,Technical Report 1(TR1) 是 C++ 标准委员会在 C++03 标准之后、C++11 标准之前发布的一份重要技术报告,全称为 ISO/IEC TR 19768:2005,标题为 “C++ Library Extensions”(C++ 库扩展)。
TR1 的特点与现状:
- 非强制性:TR1 不是正式的 C++ 标准,而是 “技术报告”,编译器厂商可选择性实现(但主流编译器如 GCC、Clang、MSVC 均实现了大部分内容)。
- 命名空间:TR1 组件通常放在
std::tr1
命名空间下(以区分于标准库原有内容)。 - 历史过渡性:随着 C++11 的发布(2011 年),TR1 中的大部分内容被正式纳入
std
命名空间,成为标准库的一部分。因此,现代 C++ 开发中已很少直接使用std::tr1
,而是直接使用 C++11 及以后标准中的对应组件。
现在的最新C++标准已经到了C++26,但是思想仍然值得借鉴,即C++程序员需要熟悉C++新的标准以提升代码的效率。
条款 55:让自己熟悉 Boost。
遗憾的是https://www.boost.org/并不能正常打开。可以使用github的地址:https://github.com/boostorg/boost下载学习。