Cpp-泛型编程基础

本文介绍了Cpp泛型编程的基础,包括函数重载的概念,深入解析了模板的定义及其应用,探讨了inline函数模板的使用,并详细阐述了如何定义类模板。
摘要由CSDN通过智能技术生成

Cpp-泛型编程基础

哇,很久没有写cpp了,写得太挫了,主要是。emm,好像数据结构作业是实现线程池,趁此机会好好学一遍cpp吧,不要再吹水了。只希望。
C++是一门很强大的语言,泛型编程一般来说可望而不可及,今天来啃一下这小基础吧。

函数重载

假设要比较两个数的值,我们可以使用两个函数进行重载:
int compare(const int&a, const int&b)
{
	if (a == b) return 0;
	return a>b ? 1 : -1;
}
int compare(const double&a, const double&b)
{
	if (a == b) return 0;
	return a > b ? 1 : -1;
}
两个函数基本相同,唯一不同的是函数的参数,但是这种比较麻烦。也比较容易出错。
所以对于不同类型都需要用这个函数,我们就产生了这个模板。

模板的定义

template <typename T>
int compare(const T &v1, const T &v2)
{
	if (v1 < v2) return 1;
	else return 0;
}
模板的定义以关键字 template开始,后面接着模板参数,模板的形参是用尖括号或者多个模板形参,形参之间用逗号进行分割。
使用函数模板
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值