有时需要将空类型传递给某个模板.例如:
template <typename X,typename Y> struct BoundaryConditions { X x; Y y; BoundaryConditions(typename X::init xi,typename Y::init yi) : x(xi),y(yi) { ... } };
我们可能希望实现不带任何参数的自由边界条件.使用类型检查实现这样的事情非常容易:
struct Nothing {}; Nothing nothing = Nothing(); struct Free { typedef Nothing init; ... }; BoundaryConditions<Free,Fixed> foo(nothing,100);
所以我的问题是:在标准库或者提升中是否有类似我的“Nothing”类型的实现?
解决方法
你可以使用空
tuple.像std :: tuple<>();