游戏逆向学习——C++共同学习4

本文深入探讨了C++中的函数模板与重载函数模板的使用方法,通过实例展示了如何利用模板解决类型通用问题,以及如何重载模板函数以提供更灵活的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个知识点:函数模板。在学习之前先说个例子,假如我先在要定义一个函数,可以将两个参数的int类型值进行互换。如果这时我想交换两个char型值,两个long类型或是两个double类型呢,是不是要一个一个的创建呢?

函数模板很好的解决了这一问题,首先先看个示范。

上面的注释部分是普通定义函数的时候使用的交换方法,下面运行的就是我们这里所要学习的函数模板,首先模板的第一行必须使用template <typename XXX>,其中XXX部分就是你自己定义的随机类型,比如逆向设置为AnyType代替我这里的“T”也是可以的,一般情况下为了方便使用T来代替任意类型的意义,当然anytype也是可以的,显而易见呗!下面的就是简单的交换了不再赘述。

在C++98中也是有这样的模板的,但是typename那个标识符可以换做class,但是是在一定情况的。

这里要说一下,因为我是直接定义函数,然后再调用主函数的,所以要注意的是,如果定义函数在主函数后,预声明的时候要加上这里的第一行表示是一个模板函数,不然调用的时候会出错。

第二个知识点:重载函数模板。

上一次学到了重载的相关知识,那么模板固然也是可以重载的,这是一个实例。

这里各位要注意了我是用的数组作为的参数,也是可以使用指针的,这里可以非常明显的看出来,重载的模板也是可以修改默认数值的,看这里的第二个change模板函数,最后使用了一个n=1的默认数值,而下面调用的时候很显然我没有带入实际参数。这里各位可以参考一下。不知道,各位对于数组和指针之间巧妙的关系是否有些混淆,小编这里也是在摸索阶段,有什么不太了解的也希望各位给予分享。

好了,今天的分享就到这里了,有什么问题可以私聊哟!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言行物恒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值