假设我是某个模板库(CTL)的用户,该模板库定义了一个名为Hector的模板

template <class T>
class Hector {...};

并且在其文档中,它为Hector模板行为提供了许多保证。
但随后它也为特定类型的Cool定义了一种特殊化
template <>
class Hector<Cool> {....};

特化的目的是对Hector进行更优化的实现,但不幸的是,由于这种优化,违反了Hector的许多保证。

目前,我真的不需要优化,而是保留Hector的所有保证。我有什么办法可以在不更改库代码的情况下(您知道CTL是一个受人尊敬的库)来规避特化?可以吗也许写一些包装?有什么事吗我只想让编译器以所有保证的正常,非优化方式为Hector<Cool>生成代码。

最佳答案

您是否可以使用没有特殊专业要求的相关模板Reque?否则,我认为您需要为Cool创建包装器,以便不使用特化。

08-16 08:03