BTMC:重返Modern Cpp

BTMC:重返Modern Cpp

💡 原文中文,约3600字,阅读约需9分钟。
📝

内容提要

介绍了C++中的模板特化和智能指针的使用。模板特化可定制化模板以优化性能或实现不同行为。智能指针用于自动管理动态分配内存。

🎯

关键要点

  • 模板特化是C++模板机制中的一个重要特性,允许针对特定数据类型定制模板。
  • 特化的模板实例会使用特化版本而不是通用模板版本,优化特定类型的性能。
  • 可以为特定类型(如std::string)特化模板函数,实现不同的行为。
  • 类模板也可以被特化,例如为int类型特化Box类以添加额外功能。
  • 完全特化为模板的所有参数指定特定类型,部分特化只指定部分参数。
  • 模板特化常用于提供更高效的实现和解决通用算法问题。
  • 智能指针用于自动管理动态分配内存,避免内存泄漏。
  • std::unique_ptr是独占所有权的智能指针,保证对对象的独占访问。
  • std::shared_ptr允许多个指针共享同一对象的所有权,最后一个指针销毁时释放内存。
  • std::weak_ptr用于观察std::shared_ptr管理的对象,不增加引用计数。
  • 友元函数重载运算符时需单独声明为函数模板,以避免链接错误。
➡️

继续阅读