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(列表初始化+变量类型推导+右值引用和移动语义+新的类功能+可变模板参数)