C++笔记(6)

1.模板

/*
 template: 定义模板的关键字
 typename:定义模板类型的关键字
 <>:模板的参数列表,模板类型可以在函数的参数,返回值,函数体代码等都可以使用
 函数的模板类型,可以通过实参自动的去推导,前提在形参列表中使用了模板的类型
 如果模板类型不能通过实参进行自动推导,需要显式的手动指定,在函数调用时从左向右指定模板参数列表类型
 */

#include <iostream>
using namespace std;


template<typename T>//设置一个类型t
T add(T a, T b) {
	T c = a + b;
	return c;
}

template <typename T,typename K ,typename M>
void show(T a, K b) {
	M m = 20;//m是通过传进去的里数值进行类型判断
	cout << typeid(a).name() << endl;
	cout << typeid(b).name() << endl;
	cout << typeid(m).name() << endl;
}

int main()
{
	int a = 10;
	int b = 20;
	double b = 1.00;
	float c = 3.14;
	cout << add(a, b) << endl;
	int a = 10, b = 20;
	char c = 30, d = 40;
	show<int, char, double>(a, c);
	return 0;
}

/*
确定函数模板类型的三种方式,
实参自动推导,add(a

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值