c++ - 捕获具有特定模板参数的类

标签 c++ templates c++14 template-templates

是否可以只捕获具有特定模板参数的类,即像这样的类:

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

最佳答案

是的,但是你必须使用一个模板模板参数

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

你也可以这样写

template <typename...> class T

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

关于c++ - 捕获具有特定模板参数的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46563945/

相关文章:

c++ - std::vector 初始化的模板参数

c++ - gcc: 错误: 无法识别的命令行选项 ‘-combine’

c++ - 是否可以在 Windows C++ 中以编程方式检查我的笔记本电脑是通过 Wi-Fi 连接还是通过 "wired LAN"连接?

c++ - 函数采用枚举值或枚举值组合的模式

c++ - 给定基类方法的编译时覆盖

c++ - 方法 ('Vector' 的命名空间和模板类 vector 声明未命名类型;你是说 'perror' 吗?)

c++ - 显示集合的第一个元素

c++ - 推断模板参数对象成员的类型

c++ - C++ 中不明确的函数重载

c++ - C++库应如何允许自定义分配器?