美文网首页
模板与泛型 —— 模板模板参数

模板与泛型 —— 模板模板参数

作者: 从不中二的忧伤 | 来源:发表于2020-06-14 23:55 被阅读0次
一、模板模板参数

一、模板模板参数

考虑在类模板中,有成员变量 : vector<T> myt;

template<typename T>
class Test
{
public:
    void setMyt(T t)
    {
        myt.push_back(t);
    }
    
    T getMyt(size_t i)
    {
        return myt[i];
    }

public:
    vector<T> myt;
};

int main()
{
    Test<int> t;
    t.setMyt(1);
    cout << t.getMyt(0) << endl;
    
    return 0;
}

vector 实际上是一个类模板,现在考虑,把类似vector, list 的类模板,当作模板参数,传入一个类模板中:

  • 此处的 Container 即是模板模板参数
  • vector 和 list,作为模板模板参数时,因为编译器无法确定默认的 allocator<T> 缺省参数,需要使用 using 设定包含vector 和 list 缺省参数的类型,将此类型作为模板模板参数。
template<typename T>
using MyVec = vector<T, allocator<T> >;

template<typename T>
using MyList = list<T, allocator<T> >;

template <typename T, template<typename> class Container>
class Test
{
public:
    void setMyt(T t)
    {
        myt.push_back(t);
    }
    
    T getMyt(size_t i)
    {
        return myt.back();
    }

public:
    Container<T> myt;
};

int main()
{
    Test<int, MyVec> t;
    t.setMyt(1);
    cout << t.getMyt(0) << endl;
    
    Test<char, MyList> tlist;
    tlist.setMyt('a');
    cout << tlist.getMyt(0) << endl;
    
    return 0;
}

相关文章

  • 模板与泛型 —— 模板模板参数

    一、模板模板参数 一、模板模板参数 考虑在类模板中,有成员变量 : vector myt; vector 实...

  • C++ 模板

    模板 泛型,是一种将类型参数化以达到代码复用的技术,C++中使用模板来实现泛型 模板的使用格式如下:templat...

  • 泛型与模版的应用

    泛型编程即以一种独立于任何特定类型的方式编写代码。 模板类型 一,模板参数 指定形式参数类型和返回参数类型, 模板...

  • C++系列 --- 模板概念,函数模板定义、调用

    今天呢,我们来学习一下C++的模板与泛型,主要学习模板的概念、函数模板的定义和调用。 一、模板的概念 1、所谓泛型...

  • C++模板与泛型---模板概念,函数模板定义、调用

    今天呢,我们来学习一下C++的模板与泛型,主要学习模板的概念、函数模板的定义和调用。 一、模板的概念 1、所谓泛型...

  • 模板特化

    模板是C++泛型编程编程的基础,STL从头到尾都是模板泛型编程 函数模板 类模板 几个需要注意的点1. 类模板的和...

  • GeekBand STL与泛型编程 第一周

    1.模板观念与函数模板 课程主要内容 C++模板简介 泛型编程 容器 进阶 C++模板简介   generic t...

  • 《C++Primer》第十六章 模板与泛型编程

    第十六章 模板与泛型编程 定义模板 1. 函数模板 模板定义以关键字template关键字开始,后面跟着一个模板参...

  • C++非类型模板参数

    一、非类型模板参数 简单点说就是在定义模板时,模板的类型参数不是一个泛型的 T,而是一个具体的类型。这种比较多的是...

  • c++模板

    模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。可以使用模板来定义函数和类 函数模板 模板...

网友评论

      本文标题:模板与泛型 —— 模板模板参数

      本文链接:https://www.haomeiwen.com/subject/mtyqxktx.html