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> ...
随机推荐
- [k8s] kubelet单组件启动静态pod
kubelet单组件启动静态pod 无需k8s其他组件,单独下载kubelet的二进制,可以启动静态pod. 静态pod不受api管理,kubectl get po可以看到,但是kubectl del ...
- 山寨一个std::bind\boost::bind
这里是最初始的版本,参考https://github.com/cplusplus-study/fork_stl/blob/master/include/bind.hpp 提供了最简洁的实现方式. 第一 ...
- Django---时间的时区问题
在用django1.8版本做项目的时候遇到时间的存储与读取不一致的问题,网上找了很多帖子,但都没有讲明白.本文将在项目中遇到的问题及如何解决的尽可能详细的记录下来,当然本文参考了网上大量相关文章. 在 ...
- IDEA开发工具常用快捷键总结
Ctrl+Alt+V 快速补全变量名 Alt+Enter 自动修复 psvm 生成main方法 Ctrl+X 删除一行 Ctrl+D 复制一行 Ctrl+N 查找类 Ctrl+P 显示方法参数 Ctr ...
- JavaScript高级 面向对象(5)--最简单的继承方式,混入mix
说明(2017.3.30): 1. 最简单的继承方式,混入mix <!DOCTYPE html> <html lang="en"> <head> ...
- ioss使用xcode常用快捷键
// command+r 运行 //command+.停止 // command+shift+y 弹出打印区 // command+z 回退 //command+shift+z 前进 // comma ...
- 路径重写,适用于laravel,yii
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule& ...
- 【C#学习笔记】反射的简单用法
常见的使用反射的场景: 程序在运行时动态地访问类的成员,如获得类的变量.方法. 例如:用反射给本类的变量赋值. public class Student{ public string studentN ...
- 【C#/WPF】图片的切割/切图/裁剪图片
前台准备两个Image控件.上面是显示原图,下面显示切割后的效果. <StackPanel Orientation="Vertical"> <Image Widt ...
- [script]判定某一个脚本是否正确执行
返回内容存在$?, 0代表成功,其他代表失败 some_command ]; then echo OK else echo FAIL fi 字符型的返回值 some_command retval=$? ...