【发布时间】:2011-06-20 04:33:45
【问题描述】:
我正在阅读 Primer C++ > 函数历险记 > 模板 > 显式特化。
为了说明显式专业化的原因/用途,我们举例说明了一个案例。 考虑一个可以交换任何类型(int、double、struct 等)的交换模板函数(我认为 代码很明显,这里就不写了)
但是有一个特定的结构(称为作业),您只想交换其中的两个成员,而让其余成员保持原样。您将需要不同的定义,因此您必须进行显式专业化。
同一部分中有此声明:- “专业化覆盖常规模板,非模板函数覆盖 两个都。” 为什么不为该用途创建一个(常规)函数?那么常规/非模板会覆盖模板吗?
如果我的解决方案是正确的,那么什么是显式专业化的好例子?
【问题讨论】:
标签: c++ templates template-specialization