类模板的成员功能的定义在单独的TU中完全专业化
Definitions of member fuction of class template full specialization in separate TUs
给定一个类模板,编译时间太长。在开发和调试过程中,我希望通过将成员函数的定义分离到单独的翻译单元来减少编译时间。只是为了完全专业化(这也是为了减少编译时间(。
在C++中,是否可以通过将类模板完全专业化的成员函数放在单独的TU中来分离它们的定义?
CCD_ 1或CCD_。我无法战胜链接时间错误。
将类模板的显式实例化声明(即extern template class...
(设置为可见(或不可见((再加上删除void A<smth>::f()
(到TU中,在TU中定义了成员函数,也没有什么好处。
显式实例化的语法是错误的(您声明了一个未定义的专门化(,它应该是:
template<typename T>
void A<T>::g()
{
std::cout << __PRETTY_FUNCTION__ << std::endl;
}
template void A<int>::g();
template void A<short>::g();
演示
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 用C++在单独的头文件中完成函数体
- 类模板的成员功能的定义在单独的TU中完全专业化
- 如何使用单独文件中的派生类访问友元函数对象
- CoInitialize()在单独的线程上崩溃而不返回
- avrogencpp能为模式中的每种类型生成单独的头文件吗
- 转换函数,将 std::数组的双精度作为参数或双精度作为参数单独转换
- 单独定义模板化嵌套类方法的正确语法
- 如何将 2 个类分成单独的 .h 文件并正确设置它们
- C++ 链接到单独的.cpp文件说"multiple definitions"
- 从单独的文件中读取树
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- C++计算器,不能单独除以 0
- 自 Windows 10 20H1 以来,具有单独线程的多个窗口停止工作
- 当结构位于单独的头文件中时'unregistered datatype'在 QML 中出现Q_GADGET错误
- 通过单独的 tcp 流建立 http 连接
- Cmake:为 C 设置警告级别,并为 MSVC 单独设置C++代码(Visual C++)
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 如何从单独的线程控制 SFML 窗口?
- C++泛型类,单独实现?