使用特定模板参数捕获 类

Catch classes with specific template argument

是否可以仅捕获具有特定模板参数的 类,即类似这样的内容:

template< typename T >
void foo( T<int> )
{
  // do something
}

是的,但是你必须使用 template template 参数

template <template <typename> class T>
void foo( T<int> )
{
  // do something
}

你也可以写

template <typename...> class T

拦截接收零个或多个类型参数的类型 T(例如:拦截接收两个类型的 std::vector,其中第二个类型具有默认值)。