zoukankan      html  css  js  c++  java
  • 第二十三模板 12约束模板 简单

    //第二十三模板 12约束模板
    //结束模板的大意,即是对模板的数据和方法有要求
    /*
    template<class T>
    T max(T a, T b)
    {
        return (a>b)?a:b;
    }
    假如比较的类型是两个指向字符串的指针,则比较运算符>比较的是两个地址而不是数值
    
    char* max(char *a, char *b)
    {
        if(strcmp(a,b) > 0)
    	   return a;
    	else
    	   return b;
    }
    该函数具体化了max函数的两个参数和功能,该函数的两个参数是char*,它的功能是使用strcmp函数比较指针所指向的字符串
    而不是指针,这个特定的用来替换函数模板的函数,我们把它叫做特定模板函数,或者是具体化模板实例
    
    必须区分的几个术语,
    函数模板是模板声明
    模板函数是模板实例,也就是根据函数模板生成的函数
    而特定模板函数,则是替换了函数模板的实例,也就是根据具体类型已经生成好了的函数
    */
    /*#include <iostream>
    #include <string>
    using namespace std;
    template<class T>
    T Imax(T a, T b)
    {
        return (a>b)?(a):(b);
    }
    char *Imax(char *a, char *b)
    {
    	if(strcmp(a,b)>0){
    	   return a;
    	}else{
    	   return b;
    	}
    }
    int main()
    {
    	int x=2, y=3;
    	cout<<Imax(x,y)<<endl;
    	//cout<<max(x,y)<<endl; //这里与C++类库中的max重载了,不合法
    	char*ch1 = "abc";
    	char*ch2 = "def";
    	cout<<Imax(ch1,ch2)<<endl;
    	return 0;
    }*/
    

      

  • 相关阅读:
    iOS-MD5加密、SHA1加密
    iOS-AFNetworking参数和多文件同时上传【多文件上传】
    iOS-CocoaPods安装及使用
    Python Queue模块
    Python socket编程
    python select epoll poll的解析
    python redis使用
    python executemany的使用
    python 三层架构说明
    Python isinstance
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2711688.html
Copyright © 2011-2022 走看看