《C++ primer 》 猎豹网校 函数模板 2018/10/9
- 函数模板 -----实例化-----函数
- 模板参数
template<typename T>
template<class T>
- 四个例子
// ConsoleApplication3.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;//int compare(const double &v1, const double &v2)
//{
// if (v1 < v2) return -1;
// if (v1 > v2) return 1;
// return 0;
//}
//
//int compare(const string &v1, const string &v2)
//{
// if (v1 < v2) return -1;
// if (v1 > v2) return 1;
// return 0;
//}template <typename T>
int compare(const T &v1, const T &v2)
{if (v1 < v2) return -1;if (v1 > v2) return 1;return 0;
};template <class T>
T absVal(T val)
{return val > 0 ? val : -val;
}template <typename T1,typename T2>
T1& print(T1 & s, T2 val)
{s << val;return s;
}template<class T>
const T& bigger(const T& v1, const T& v2)
{return v1 > v2 ? v1 : v2;
}int main()
{double d1 = 1.23;double d2 = 9.56;cout << compare(d1, d2) << endl;string s1("hi");string s2("world");cout << compare(s1, s2) << endl;double dval = -0.88;float fval = -12.33;cout << absVal(dval) << endl;cout << absVal(fval) << endl;string orister = "this is a test";string desstr;ostringstream oss(desstr); //输出字符串流ofstream outFile("result.dat"); //输出文件流print(cout, -3) << endl;print(cout, dval) << endl;print(cout, fval) << endl;print(cout, orister) << endl;print(outFile, -3) << endl;print(outFile, dval) << endl;print(outFile, fval) << endl;print(outFile, fval) << endl;print(outFile, orister) << endl;outFile.close();print(oss, -3) << endl;print(oss, dval) << endl;print(oss, fval) << endl;print(oss, orister) << endl;double a = 1.23;double b = 5.39;cout << bigger(a, b) << endl;system("pause");return 0;
}
《C++ primer 》 猎豹网校 函数模板 2018/10/9相关推荐
- CPP2022-16-宏、函数重载与函数模板
6-1 通用对数函数(宏) 分数 5 全屏浏览题目 切换布局 作者 李祥 单位 湖北经济学院 C语言库函数只提供以 e 和 10 为底数的对数函数.我们自行设计一个以任意正实数 a 为底数.任意正实数 ...
- [转]C++函数模板与模板函数
1.函数模板的声明和模板函数的生成 1.1函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计.它的最大特点是把函数使用的数据类型作为参数. 函数模板 ...
- C++知识点62——模板实参推断与函数模板的特化
一.函数指针与模板实参推断 可以用函数模板初始化一个函数指针或给一个函数指针赋值 示例 template <typename T> int comp(const T &a, con ...
- C++知识点55——函数模板
一.为啥需要模板 防止相同功能的重复实现 二.函数模板 1.模板函数的定义 template <typename T> const T& Max(const T &a, c ...
- mysql猎豹_猎豹网校MySQL数据库
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 猎豹网校MySQL数据库 链接:http://pan.baidu.com/s/1i3wyPjn 密码:qxhm 教程目录 第1章 了解SQL 1.1 数据 ...
- 类和函数模板以及特例化
一.函数模板 1.定义 建立一个通用函数,它所用到的数据的类型(包括返回值类型.形参类型.局部变量类型)可以不具体指定,而是用一个虚拟的类型来代替(实际上是用一个标识符来占位),等发生函数调用时再根据 ...
- 函数模板和普通函数区别
/***Copyright (c) 2018 Young Fan.All Right Reserved.*Filename: 2 函数模板和普通函数区别*Author: Young Fan*Date: ...
- 笔记②:牛客校招冲刺集训营---C++工程师(面向对象(友元、运算符重载、继承、多态) -- 内存管理 -- 名称空间、模板(类模板/函数模板) -- STL)
0618 C++工程师 第5章 高频考点与真题精讲 5.1 指针 & 5.2 函数 5.3 面向对象(和5.4.5.5共三次直播课) 5.3.1 - 5.3.11 5.3.12-14 友元 友 ...
- 函数模板和类模板 模版特化
函数模板和类模板 模版特化 关键字: template <class t>, template <typename t> 模板 模板(template)是一个将数据类型参化的工 ...
- C++ 函数模板和排序的函数模板——学习笔记
我们在使用重载函数时,只是使用了函数名,而函数体还是得分别定义,在C++中函数模板为我们很好的解决了这个问题. 1.函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函 ...
最新文章
- 一个c/c++分布式框架ZMQ或者ZeroMQ, 介绍和win下安装使用方法
- C#.NET 中的类型转换 (转)
- C++覆盖和重载的区别
- Windows Git客户端搭建
- Linux 小知识翻译 - 「Linux的吉祥物企鹅叫什么名字?」
- python 迭代器、生成器知识点总结
- python增删改查mysql_Python操作MySQL(增删改查)
- iOS开发 -------- Block技术中的weak - strong
- EverWeb for Mac(网页设计软件)v3.5.1中文版
- 获取本机IP可区分系统可区分虚拟机和本机java程序跨平台
- Android读取电话薄中的电话号码
- nrf52832(nrf52810)之硬件I2C(TWI)驱动BMI160
- PB12下geturl获取汉字乱码的解决
- 常用的颜色色值(转)
- java 委托 代理 区别_区分委托,组合和聚合(Java OOdevise)
- 识别“百度权重”作弊的方法
- PLC可编程控制器、变频调速综合实验装置(网络型)
- 隔壁老王都知道的JavaScript+mysql+HTML+CSS的客户管理系统设计和实现【建议收藏,不然看着看着就不见了】
- IDEA快捷键(持续学习ing)
- 说说自己工作中的测试流程
热门文章
- ISP模块之RAW DATA去噪(一)
- python批量制作ppt_实例25_批量生成PPT版荣誉证书
- 侧信道实验实验二 S盒DPA侧信道攻击
- 计算机有关的科技论文题目,计算机前沿科技论文选题范文 计算机前沿科技专业论文题目如何拟...
- DLL注入——使用注册表
- 尚硅谷前端视频总结(一)
- access ea 可以联网吗_如何看待EA在STEAM上推出EA Play(原EA Access会员)?
- 激光点云常用数据集整理
- 超宽带 DWM1000模块 引脚连接
- 计算机视觉应用培训心得体会,计算机视觉专题分享总结(附PPT)