C++函数模板的两种表现形式

  1. 函数模板利用关键字 template
  2. 使用函数模板有两种方式:自动类型推导、显示指定类型
  3. 模板的目的是为了提高复用性,将类型参数化## 自动类型推导

自动推导类型

template<typename T>   //第一种模板类
void myvalue(T &a, T &b)
{
	T temp = a;
	a = b;
	b = temp;
}
float a = 2;
float b = 3;
//第一种  自动类型推导
myvalue(a, b);
cout << "a = " << a << endl;
cout << "b = " << b << endl;

显示指定类型

	//第二种 显示指定类型
	myvalue<float>(a, b);

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
using namespace std;

void int_value(int &a, int &b)
{
	int temp = a;
	a = b;
	b = temp;
}

void float_value(float& a, float& b)
{
	float temp = a;
	a = b;
	b = temp;
}
template<typename T>   //第一种模板类
void myvalue(T &a, T &b)
{
	T temp = a;
	a = b;
	b = temp;
}

void test1()
{
	float a = 2;
	float b = 3;
	//第一种  自动类型推导
	myvalue(a, b);
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	//第二种 显示指定类型
	myvalue<float>(a, b);

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

//void test2()
//{
//	float c = 20.5;
//	float d = 30.2;
//	//float_value(c, d);
//	cout << "c = " << c << endl;
//	cout << "d = " << d << endl;
//}

int main()
{
	test1();
	//test2();
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值