9. 杂项讨论

13 阅读1分钟

53. 不要轻忽编译器的警告

  1. 严肃对待编译器发出的警告,要明白其真正意图是什么,并不是要求处理掉所有警告,而是要能有选择的处理掉一些关键警告
  2. 不要过度依赖警告来找问题,不同编译器给出的警告并不一样

54. 让自己熟悉包括TR1在内的标准程序库

C++ 标准库的组成(C++11 及之后,TR1 本身已过时)

  • 核心功能:由 STL(容器、算法)、iostreams(输入输出)、locales(本地化)组成,并兼容 C 标准库。
  • C++11 新增核心组件
    • 智能指针(shared_ptr/unique_ptr)、哈希容器(unordered_map)、函数包装器(function)、正则表达式(regex)等。
    • 这些组件最初源于 TR1 技术报告,并参考了 Boost 库的实现,最终被纳入 C++11 标准。
  • 无需依赖第三方库:现代 C++ 可直接使用上述功能,无需额外依赖 Boost(除非需要更高级的扩展组件)。

55. 让自己熟悉boost

  1. 对于标准库覆盖的基础功能,无需 Boost;对于高级或复杂场景,Boost 仍是最成熟、最全面的解决方案。
  2. 生态不可替代:Boost 组件间协同性强(如 Boost.Asio + Boost.Beast 可快速构建 HTTP 服务器),这种“组件生态”是其他库难以比拟的。
  3. Boost 与 TR1:Boost 是 TR1 的参考实现,TR1 内容已被 C++11 标准化,Boost 仍提供扩展功能。
  4. 参考网站 boost.org