c++ template<typename T>
网上查了半天不知所云,网上说的太多,俺只是要知道所需要的就可以了。
写了个程序试了一下,其实就是这个东西可以根据你所需要的类型就行匹配。其实就是模板
比如求最小值,要int,double,char,那么你就 要写三个函数

1 int sum(int, int);
2
3 float sum(float, float);
4
5 double sum(double, double);
6
7

但是有了templae<typename T>你就只需要写一个函数。
详见代码:

1 #include<iostream>
2 #include<vector>
3 #include<algorithm>
4 using namespace std;
5 template <typename T>
6 T mmax(T a,T b)
7 {
8 return a>b?a:b;
9 }
10 int main()
11 {
12 int a,b;
13 cin>>a>>b;
14 cout<<mmax(a,b)<<endl;
15 char c,d;
16 cin>>c>>d;
17 cout<<mmax(c,d)<<endl;
18 double f,g;
19 cin>>f>>g;
20 cout<<mmax(f,g)<<endl;
21 }
c++ template<typename T>的更多相关文章
- C++中模板template <typename T>
		最近在看C++的源码,遇到了不少问题,一点一点进行补充. 首先就是遇到template <typename Dtype>. 网上解释的非常多,觉得比较啰嗦,其实就是一个类型模板. 比如我们 ... 
- template <typename T>模板类定义
		#include "stdafx.h"#include "iostream"#include <ctime>using namespace std; ... 
- <转载>模板声明中template <typename T>和template <class T>
		原文地址http://blog.csdn.net/bug07250432/article/details/10150625 在c++Template中很多地方都用到了typename与class这两个 ... 
- C++ - 模板(template)中typename的使用方法
		声明template参数时, 前缀关键字class和typename可以互换; 使用关键字typename标识嵌套从属类型名称, 但不需在基类列表和成员初始化列表内使用. 从属名称(dependent ... 
- c++类模板template中的typename使用方法-超级棒
		转载:https://blog.csdn.net/vanturman/article/details/80269081 如有问题请联系我删除: 目录 起因 typename的常见用法 typename ... 
- Expression Template(表达式模板,ET)
		1.前言 在前一篇文章自己实现简单的string类中提到在实现+操作符重载函数时,为了防止返回时生成的临时对象调用拷贝构造函数动态申请内存空间,使用了一个叫move的函数,它是C++0x新增的特性.既 ... 
- C++箴言:理解typename的两个含义
		C++箴言:理解typename的两个含义 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template<class ... 
- 模板函数(template function)出现编译链接错误(link error)之解析
		总的结论: 将template function 或者 template class的完整定义直接放在.h文件中,然后加到要使用这些template function的.cpp文件中. 1. 现 ... 
- C++ 11 Template  ... 与Decltype 测试
		#include <iostream> #include "string" using namespace std; template<typename T> ... 
随机推荐
- MFC程序开始的执行过程详述
			1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数.而在MFC程 ... 
- Ubuntu和centos下查看包的安装路径
			安装包后,如何查看安装的具体路径? Ubuntu下: dpkg -L <包名> CentOS下: rpm -ql <包名> 助记: l为list的首字母. q为query ... 
- jquery动态加载js三种方法实例
			这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getScript(\"test.js\" ... 
- [k8s]elk架构设计-k8s集群里搭建
			elasticsearch和mysql的对比 https://blog.csdn.net/qq_21383435/article/details/79323383 Mapping ~ Schema m ... 
- ajaxfileupload异步上传附件添加參数的方法
			1.js文件 // JavaScript Document jQuery.extend({ createUploadIframe: function(id, uri) { //create frame ... 
- javascript原生bind方法ie低版本兼容详解
			上一篇文章讲到了javascript原生的bind方法: http://www.cnblogs.com/liulangmao/p/3451669.html 这篇文章就在理解了原生bind方法的原理以后 ... 
- c语言double类型数据四舍五入
			借助math库的round函数 #include <math.h> double ext_round(double data, int precision) { , precision); ... 
- Ribbon重试机制与Hystrix熔断机制的配置问题1
			Ribbon超时与Hystrix超时问题,为了确保Ribbon重试的时候不被熔断,我们就需要让Hystrix的超时时间大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制 ... 
- Mac下Python安装目录
			/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages 
- maven引入ojdbc
			http://blog.csdn.net/linminqin/article/details/17922413 ******************************************** ... 
