c++ - 推导模板参数的模板参数

标签 c++ templates

有一个类模板A,它的模板参数是模板类。

template <typename T> class A {}
template <typename T> class B {}
int main()
{
    A<B<int>>();
    return 0;
}

类模板A能否推导其模板参数(B int)的模板参数(int)?

或者有其他方法可以解决这个问题吗?例如,

template <typename T<typename U>> class A {}

最佳答案

你可以让A成为模板模板:

template <template <typename> class T, typename Inner> 
class A<T<Inner>> {};

关于c++ - 推导模板参数的模板参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582479/

相关文章:

c++ - 为什么对同时在lambda参数中使用的函数使用默认模板参数不起作用

c++ - 安全方便的泛型散列(用于 STL 无序集和映射)成语?

c++ - pqxx 返回刚刚插入的行的 id

c++ - 转换指针以重用缓冲区

c++ - 在什么意义上 weak_ptr 'own' 是 shared_ptr?

c++ - 如何为<…auto…>定义构造函数

c++ - Xcode __pthread_kill + 20

c++ - 根据 POS 标签值更改同义词引理

c++ - 是否可以声明模板的模板?

c++ - 为什么在没有声明的情况下不从 .cpp 文件中获取模板函数的完全特化?