c++ - 显式模板实例化是否在 cpp 或头文件中?

标签 c++ templates

显式模板实例化是放在 cpp 还是头文件中?

最佳答案

假设“显式模板实例化”是指类似

template class Foo<int>; // explicit type instantiation
// or
template void Foo<int>(); // explicit function instantiation

那么这些必须进入源文件,因为它们考虑了定义,因此受制于 ODR .

关于c++ - 显式模板实例化是否在 cpp 或头文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5864401/

相关文章:

c++ - 具有 unicode 属性支持的 Qt/C++ 正则表达式库

c++ - 无法从 .dat 文件读取数据(从 Simulink 创建的 VS2012 C++ 项目)

c++ - OpenCL C++ 绑定(bind) : How to implement a callback for enqueueWriteBuffer competition

c++ - 如何在 mac 上获取 "Visual Studio 2012"cmake 生成器?

c++ - 具有类型模板参数默认值的非类型模板参数

c++ - 调用专门的 ostream 运算符

c++ - 如何管理固定数组中的对象?

c++ - 类外的类函数模板定义

c++ - 获取函数参数类型作为元组

c++ - C++ 中的可变参数模板和逗号分隔的字符串