假设我是某个模板库(CTL
)的用户,该模板库定义了一个名为Hector
的模板
template <class T>
class Hector {...};
并且在其文档中,它为
Hector
模板行为提供了许多保证。但随后它也为特定类型的
Cool
定义了一种特殊化template <>
class Hector<Cool> {....};
特化的目的是对
Hector
进行更优化的实现,但不幸的是,由于这种优化,违反了Hector
的许多保证。目前,我真的不需要优化,而是保留
Hector
的所有保证。我有什么办法可以在不更改库代码的情况下(您知道CTL
是一个受人尊敬的库)来规避特化?可以吗也许写一些包装?有什么事吗我只想让编译器以所有保证的正常,非优化方式为Hector<Cool>
生成代码。 最佳答案
您是否可以使用没有特殊专业要求的相关模板Reque
?否则,我认为您需要为Cool
创建包装器,以便不使用特化。