相关疑难解决方法(0)

为什么模板只能在头文件中实现?

引自C++标准库:教程和手册:

目前使用模板的唯一可移植方法是使用内联函数在头文件中实现它们.

为什么是这样?

(澄清:头文件不是唯一的便携式解决方案.但它们是最方便的便携式解决方案.)

c++ templates c++-faq

1660
推荐指数
14
解决办法
46万
查看次数

C++ 11:整数类型的模板函数专业化

假设我有一个模板功能:

template<typename T>
void f(T t)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想为所有原始整数类型编写一个专门化.做这个的最好方式是什么?

我的意思是:

template<typename I where is_integral<I>::value is true>
void f(I i)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

并且编译器为整数类型选择第二个版本,为其他所有类型选择第一个版本?

c++ templates c++11

32
推荐指数
5
解决办法
2万
查看次数

标签 统计

c++ ×2

templates ×2

c++-faq ×1

c++11 ×1