0

我是 C++ 新手...所以,这个问题可能很愚蠢...

例如,我确实有以下结构

template<typename _TpIn, typename _TpOut>
struct TypesKernel {
    typedef _TpIn input_type;
    typedef _TpOut output_type;
};

现在我想在模板中使用它。例如:

template<typename _TypesKernel>
class A {
    typedef typename _TypesKernel::input_type input_type;
    typedef typename _TypesKernel::output_type output_type;
    ....
};

对于我想使用 TypesKernel 的任何类,是否有可能以某种方式避免这种 typedef 重复?

先感谢您!

4

1 回答 1

1

如果您需要那里的 typedef,我看到它们包含的唯一方法是按照您的方式定义或从某些东西继承。您的类可能使用 TypesKernel 作为基类,或者它们都可以使用一个除了 typedef 之外什么都没有的公共基类。(就像在std::迭代器框架中一样)。

然而继承不一定更好,在很多情况下你可能会忍受重复。

于 2013-06-24T10:21:54.557 回答