(一)STL (模板详解)

类模板与模板类

类模板:

  重点是模板,表示的是一个模板,专门产生类的模子

格式:
template <typename T>
class TEST
{
...
};
使用这个模板可以产生很多类,TEST<int>、TEST<char>

模板类:

  重点是类,由一个模板生成而来的类

格式:
template <class T>  // class关键字表示T是一个类,避免混淆,typename 与 class 作用一样
template <typename T>   
class TEST
{
...
};

函数模板与模板函数

函数模板:是用类型做参数,设计出通用的函数

 其定义形式为:

template<class T1, class T2>
函数返回类型 函数名(函数参数表)
{
  // 函数模板定义
}
#include <iostream>
#include <stdio.h>
using namespace std;

template<class T>
T min(T a[], int n)
{
    int i;
    T minv = a[0];
    for (i=1;i<n;i++) {
        if (minv > a[i]) minv = a[i];
    }
    return minv;
}

int main()
{
    int a[] = {1,24,8,9,23,41};
    double b[] = {9,6,7,2,8,4};
    cout<<"a数组的最小值为"<<min(a,6)<<endl;
    cout<<"b数组的最小值为"<<min(b,5)<<endl;
}

  

参考链接:https://www.cnblogs.com/ruo-li-suo-yi/p/8711222.html

做一个优秀的程序媛
原文地址:https://www.cnblogs.com/oytt/p/13633841.html