【问题标题】:Wrapping native C++ templated class with C++/CLI使用 C++/CLI 包装原生 C++ 模板类
【发布时间】: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 在编译时在类的每次使用中是什么。这就是模板的工作原理。

标签: c++ templates c++-cli


【解决方案1】:

除了预先定义您关心的所有此类模板特化,并将每个 CLI 泛型显式映射到模板特化的自定义包装器之外,没有通用策略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多