函数单位化的意义
发布网友
发布时间:2023-05-18 00:54
我来回答
共1个回答
热心网友
时间:2023-10-11 01:09
比如,你定义了一个函数模板
template<typename T>
void func(const T& t)
{
dosomething(t);
}
但是,当T是整数的时候你不想dosomething,而是想killsomeone,那就需要具体化了。
具体化有2种形式,一种是显式具体化
即定义一个特殊类型的实现
template<>
void func<int>(const int& t)
{
killsomeone(t);
}
这样,除了int型以外,其他类型仍然按照dosomething来运行
另一种方式是写一个函数来屏蔽模板
比如,定义如下
void func(const int& t)
{
killsomeone(t);
}
这样,在编译链接时这个函数就屏蔽掉了模板,自动采用定义的函数。
——————希望帮到你,满意请采纳。