2018/2/22

C++

1.模板函数

1.先创建函数和类的蓝图,使用占位符T来代替相应的数据类型,当程序需要时,编译器把模板中的每一个T替换为所提供的数据类型

2.如果某个函数对所有的数据类型进行相同的处理,则使用函数模板

3.如果某个函数对所有的数据类型进行不同的处理,则使用重载的方法

2.实践

#include<iostream>
#include<string>
#include<stdlib.h>
/*函数模板*/
template<class T>//这不意味着T是一个类,是泛型模板的通俗写法
void swap(T &a, T &b)
{T temp = a;//把对象的定义和声明写在一起a = b;b = temp;
}
/*使用泛型编程,大大提升了效率,可以用一个程序解决几个问题*/
int main()
{int i1 = 100, i2 = 200;std::cout << "交换前,i1=" << i1 << ",i2=" << i2 << "\n";swap<int>(i1, i2);//表示swap是一个函数模板std::cout<< "交换后,i1=" << i1 << ",i2=" << i2 << "\n";std::string s1 = "超人";std::string s2 = "蝙蝠侠";std::cout << "交换前,s1=" << s1 << ",s2=" << s2 << "\n";swap(s1, s2);std::cout << "交换后,s1=" << s1 << ",s2=" << s2 << "\n";system("pause");
}


程序小白天天打卡(函数模板)相关推荐

  1. C语言小知识:typedef\函数模板\

    (1)typedef用法: typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等).在编程中使用t ...

  2. 函数重载和 函数模板

    一.函数重载(overload) #include <iostream> using namespace std;//计算两个参数a,b的乘积的函数 int product(int a,i ...

  3. C++走向远洋——61(项目一、排序函数模板)

    */* Copyright (c) 2016,烟台大学计算机与控制工程学院* All rights reserved.* 文件名:text.cpp* 作者:常轩* 微信公众号:Worldhello* ...

  4. [转]C++函数模板与模板函数

    1.函数模板的声明和模板函数的生成 1.1函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计.它的最大特点是把函数使用的数据类型作为参数. 函数模板 ...

  5. 重载函数与函数模板(转)

    原文地址:http://www.jizhuomi.com/software/45.html hello,everyone,鸡啄米上一节讲到的是函数的参数传递和内联函数,这一讲鸡啄米会给大家讲点稍微有点 ...

  6. 有关函数模板和类模板的说法

    下面有关函数模板和类模板的说法正确的有? 正确答案: A B C D 你的答案: A (错误) 函数模板的实例化是由编译程序在处理函数调用时自动完成的 类模板的实例化必须由程序员在程序中显式地指定 函 ...

  7. c++ 函数模板_C/C++编程笔记:C++入门知识,深入解析C++函数和函数模板

    本篇要学习的内容和知识结构概览 函数的参数及其传递方式 1. 函数参数传递方式 传值: 传变量值: 将实参内存中的内容拷贝一份给形参, 两者是不同的两块内存 传地址值: 将实参所对应的内存空间的地址值 ...

  8. 问模板函数、函数模板,模板类、类模板的区别的问题?

    问模板函数.函数模板,模板类.类模板的区别的问题? - 赵保龙 - 博客园 问模板函数.函数模板,模板类.类模板的区别的问题? 在C++中有好几个这样的术语,但是我们很多时候用的并不正确,几乎是互相替 ...

  9. c++函数模板和类模板

    函数模板和类模板 前言 C++提供两种模板机制:函数模板.类模板 类属 -- 类型参数化,又称参数模板 前言 C++提供了函数模板(function template).所谓函数模板,实际上是建立一个 ...

  10. C++中函数模板template和函数参数为指针,且有返回值的结合使用

    1 #include<iostream> 2 using namespace std; 3 // 利用模板函数计算一个表达式 4 template<class Type> 5 ...

最新文章

  1. 模型保存的序列化文件pb 什么是PB文件 pb是protocol(协议) buffer(缓冲)的缩写
  2. 结构化数据和非结构化数据的区别_中国天辰携手爱数AnyShare,共同探索非结构化数据治理...
  3. 微信小程序 wx.request异步网络请求
  4. ML之RF:kaggle比赛之利用泰坦尼克号数据集建立RF模型对每个人进行获救是否预测
  5. 吉林省第二条国际铁路联运大通道“长珲欧”启动测试
  6. C语言,两个超大整型数乘法
  7. python的gzip库使用方法
  8. arma模型matlab代码_DCC GARCH模型
  9. 微信小程序中识别html标签的方法
  10. [?]Solaris下两个Oracle同时启动时遇到的问题
  11. python中的位置怎么看_如何获得字符在Python中的位置?
  12. matlab大地坐标与经纬度转换,如何把经纬度转化为大地坐标
  13. 聊聊最近的几件小事儿
  14. APICloud平台使用融云模块实现音视频通话实践经验总结分享
  15. 手把手教你Photoshop中的图层混合模式(一)
  16. macOS wifi 密码 查看
  17. 点赞功能模块-文章点赞功能实现
  18. 尾部关性尾部风险平价和圣杯分布
  19. List中remove()方法的陷阱以及终极的解决方法!
  20. 当 iPhone X 碰上拟物化的 iOS 6

热门文章

  1. 方舟服务器炸了怎么修复,《方舟:生存进化》诸事不顺!退款BUG修复服务器又炸...
  2. termux python教程_Termux 入门教程:架设手机 Server 下载文件
  3. pytorch搭建卷积神经网络【第三课_自己搭建对抗神经网络】
  4. java窗体图标的设置
  5. php 管理员界面源码,ThinkPHP通用后台管理系统TP-Admin
  6. csp试题1:线性分类器
  7. 蚁群算法详解及其工程源码
  8. 蚁群算法Python实现
  9. vasp 计算杨氏弹性_VASP计算-力学常数1
  10. keil5.155.18版本兼容keil4安装包百度云链接