template<typename ... Args>
class Container
{
public:
Container(Args&& ... args)
: values_(std::forward<Args>(args)...)
{}
private:
std::tuple<Args ...> values_;
};
考虑到上面的代码,这是有效的:
typedef Container<double,double,double> Container3d;
这样的事情可能吗?
typedef Container<3,double> Container3d;
请注意,这仍然应该是可能的:
Container<double,int> c(0.1,2);