模板声明和定义的含义

Dan*_*Dan 11 c++ templates

根据我的理解,必须在同一个头文件中声明和定义模板类和模板函数(大多数情况下).照这样说:

  1. 除了使用特定的编译器之外,还有其他方法可以实现模板文件的单独编译吗?如果是,那是什么?

  2. 如果有的话,在同一个文件中使用声明和定义的缺点是什么?

  3. 在模板声明和定义方面,什么是最佳实践?

Nem*_*vic 12

如何组织模板源代码

基本上,您有以下选择:

  • 在实例化时使模板定义对编译器可见.
  • 在单独的编译单元中显式实例化您需要的类型,以便链接器可以找到它.
  • 使用关键字导出(如果可用)