我刚刚编写了一个通用对象工厂,并使用boost预处理器元库来制作一个可变模板(使用2010,但它不支持它们)。我的函数使用rval引用和std::forward来做完美的转发,它让我得到了thinking...when,C++0X出来了,我有一个标准的编译器,我会用真正的可变模板来做这件事。- I doubt this would work.我能想到的唯一方法是手动解压...params,而我也还没有完全做到这一点。有没有更快的语法可以工作?
我在模板中引用参数的方式遇到了麻烦(老实说,我非常怀疑我不可能实现我想做的事情)。不幸的是,我看到的唯一方法是这样做(这确实取决于需要这些类型名称的位置,无论如何,这可能是一个有意义的例子): MyClass(C *c) { /* do something else and give sense to this class */ }除了上面的一种方法,即通过引入模板构造函数来打破交错,还有另一种有效的方法可以用唯一的类<