C++模板参数类型列表

Posted Linux编程学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++模板参数类型列表相关的知识,希望对你有一定的参考价值。

5 类型参数列表

我们学习了模板函数和模板类的定义和使用。但是,看到的“类型形参表”都只有一个元素,那么,如果要定义多个类型,应该怎么样操作?

在telplate<类型形参表>中,“类型形参表”可以定义多个类型,类型直接使用逗号“,”分隔。例如:

template <class T1, class T2, class T3> class classname;

template <typename T1, typename T2, typename T3> class classname;

此时,在模板函数或者模板类中,可以有多个动态绑定的类型。程序测试例子如下:

程序运行结果如下:

可以看到,我们定义的模板类,使用了3个类型,定义如下:

template <class T,class TString, class C>

每个类型之间,使用逗号分隔。那么,在使用模板类定义对象的时候,才实例化模板类,形成一个实际的类,如下:

test<int, char*, double>

此时,对应设置T = int, TString = char*, C = double。然后,再实例化一个test类,再去定义对象。

以上是关于C++模板参数类型列表的主要内容,如果未能解决你的问题,请参考以下文章

C++进阶第二十五篇——C++11(列表初始化+变量类型推导+右值引用和移动语义+新的类功能+可变模板参数)

C++进阶第二十五篇——C++11(列表初始化+变量类型推导+右值引用和移动语义+新的类功能+可变模板参数)

C++进阶第二十五篇——C++11(列表初始化+变量类型推导+右值引用和移动语义+新的类功能+可变模板参数)

C++模板

C++模板参数类型列表

C++ 为类模板提供初始化列表构造函数