C++学习之函数模板的概念和基本语法

1、模板概念

模板就是建立通用的模具,大大提高复用性
模板的特点:

  • 模板不可以直接使用,它只是一个框架
  • 模板的通用并不是万能的
2、 函数模板
  • C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板
  • C++提供两种模板机制:函数模板类模板
3、 函数模板语法

函数模板作用:
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。

语法:

template<typename T>
函数声明或定义

解释:

template — 声明创建模板

typename — 表面其后面的符号是一种数据类型,可以用class代替

T — 通用的数据类型,名称可以替换,通常为大写字母

#include<iostream>
#include<string>
using namespace std;

template<class T>//利用模板提供通用的交换函数
void myswap(T& a, T& b)//交换两个数
{
	T temp;
	temp = a;
	a = b;
	b = temp;
}

int main()
{
	double a = 10.2;
	double b = 3.14;

	//利用模板实现交换
	//1、自动类型推导
	mySwap(a, b);

	//2、显示指定类型
	mySwap<int>(a, b);
	
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;

	return 0;
}

总结:

  • 函数模板利用关键字 template
  • 使用函数模板有两种方式:自动类型推导、显示指定类型
  • 模板的目的是为了提高复用性,将类型参数化
4、函数模板注意事项
  • 自动类型推导,必须推导出一致的数据类型T,才可以使用

  • 模板必须要确定出T的数据类型,才可以使用

#include<iostream>
#include<string>
using namespace std;

template<class T>
void myswap(T& a, T& b)
{
	T temp;
	temp = a;
	a = b;
	b = temp;

}

template<class T1>
void func()
{
	cout << "func()的调用"<<endl;
}

int main()
{
	double a = 10.2;
	double b = 3.14;
	//int b = 3; 类型不一致报错

	myswap<double>(a, b);

	cout << "a=" << a << endl;
	cout << "b=" << b << endl;

	//func(); 无类型,调用出错
	func<int>();

	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值