【笔记】C++的150个建议,第五章

2020-01-12  本文已影响0人  NeilXu

目录
第一部分 语法篇

  1. 第一章 从C继承而来
  2. 第二章 从C到C++
  3. 第三章 内存管理
  4. 第四章 类
  5. 第五章 模板

建议60:动多态与静多态

  1. 动多态:
  1. 静多态:

建议61:将模板的声明和定义防止在同一个头文件里

由于模板类型不是一种实类型,它必须等到类型绑定后才能确定最终类型。
编译器需要根据模板的定义去生成对应的代码。

三种解决方法,推荐方法1

  1. 将模板的定义放在.h文件中。缺点是会变成inline函数,导致代码膨胀。
  2. 定义还是放在.cpp文件中,引用时,#include "xxx.cpp"。缺点是,有的编译器不支持。
  3. 使用关键字export。缺点是,性能太次,有的编译器不支持。
export template<class T>
void output(const T& t){
    std::cout << t;
}

建议62:用模板代替参数化的宏函数
因为宏定义有两个重要的缺点:缺乏类型检查、替换时容易出错。

建议63:函数模板vs.模板函数,类模板vs.模板类

其实这4个名词就是几个术语而已,没什么太大意义。

建议64:继承vs.模板

上一篇 下一篇

猜你喜欢

热点阅读