尝试使用可变参数模板尝试看看可以用它们做什么,我发现自己想知道一些事情:
假设我有一个可以将其他几个类作为模板参数的类,每个类都有一个嵌套类(我们称之为nested_class):
template<typename... Classes> class MyClass {
class InnerClass { ... };
};
我想要实现的是在 MyClass 中,创建一个继承自每个参数类嵌套类的类。
例如:
class A1 {
public:
struct nested_class {
do_stuff() { ... }
};
};
class A2 {
public:
struct nested_class {
do_other_stuff() { ... }
};
};
using C = MyClass<A1, A2>;
这个想法是 C 有它的嵌套类 InnerClass,它继承了 A1::nested_class 和 A2::nested_class。
有什么东西可以做到这样的事情吗?我个人想不出办法,但也许有可能。像 Alexandrescu 的 Hierarchy Generators(可以在 Loki 中找到:http: //loki-lib.sourceforge.net/html/a00653.html)这样的继承层次结构构建器会有所帮助吗?
如果有人有想法,请提前感谢。