【发布时间】:2011-08-24 05:23:09
【问题描述】:
是否可以使用 C++/CLI 包装模板化的原生 C++ 类?例如,
template <class T>
class TemplateTest
{
public:
TemplateTest(const T& x) { mX = x; }
~TemplateTest(void);
T getValue() { return mX; }
private:
T mX;
};
通常的方法是保存指向类TemplateTest 的指针,但是对于模板类,我必须在编译时知道 T 是什么类型。人们通常如何处理这类场景?
【问题讨论】:
-
刚刚发现了这个相关的问题,stackoverflow.com/questions/4735507/…。但是,该答案并未提供解决问题的策略。
-
抱歉,我已投票决定将其作为 4735507 的完全副本来关闭。该答案没有提供解决问题的策略,因为除了预先定义所有策略之外,没有通用策略您关心的此类模板特化,并将每个 CLI 泛型显式映射到模板特化的自定义包装器。
-
好的,你的评论回答了我的问题。我希望有人有一种我没有想到的创新方法来处理它。您可以将您的评论作为答案。如果你关闭它也不要大惊小怪。
-
由于模板是一个编译时构造,你必须知道
T在编译时在类的每次使用中是什么。这就是模板的工作原理。