【发布时间】:2011-01-12 10:43:49
【问题描述】:
假设以下模板类在一个项目中大量使用,其中大部分是 int 作为类型名,并且自引入该类以来链接器速度明显变慢。
template <typename T>
class MyClass
{
void Print()
{
std::cout << m_tValue << std::endl;;
}
T m_tValue;
}
定义一个类专业化有利于编译速度吗? 例如。
template <>
class MyClass<int>
{
void Print()
{
std::cout << m_tValue << std::endl;;
}
int m_tValue;
}
或者显式实例化是否提供了更好的解决方案? 例如。
template class MyClass<int>;
【问题讨论】:
-
@sbi,你是对的,谢谢,我已经编辑了我的答案,你能重新评估它的正确性吗?
-
好吧,我应该说我已经编辑了我的问题,而不是我的答案;)
标签: c++ templates linker compilation specialization