25.C++- 泛型编程之函数模板(详解)
2021-06-23 05:06
标签:函数指针 检查 不同 www. 而且 技术分享 打印 图片 span 1)初探函数模板 2)深入理解函数模板 3)多参函数模板 4)重载函数模板 当我们想写个Swap()交换函数时,通常这样写: 但是这个函数仅仅只能支持int类型,如果我们想实现交换double,float,string等等时,就还需要从新去构造Swap()重载函数,这样不但重复劳动,容易出错,而且还带来很大的维护和调试工作量。更糟的是,还会增加可执行文件的大小. 函数模板 比如: 当我们使用int类型参数来调用上面的Swap()时,则T就会自动转换为int类型. 函数模板的使用 例如,我们写了一个Swap函数模板,然后在main()函数里写入: 初探函数模板 写两个函数模板,一个用来排序数组,一个用来打印数组,代码如下: 运行打印: 为什么函数模板能够执行不同的类型参数? 答: 试验函数模板是否生成真正的函数 通过两个不同类型的函数指针指向函数模板,然后打印指针地址是否一致,代码如下: 运行打印: 可以发现两个不同类型的函数指针,指向同一个函数模板,打印的地址却都不一样,显然编译器默默帮我们生成了两个不同的真正函数 其实函数模板可以定义任意多个不同的类型参数,例如: 注意: 接下来开始试验多参数函数模板 运行打印:
接下来开始试验重载函数模板 运行打印: 接下来下章来学习: 26.C++- 泛型编程之类模板(详解) 文章来源:https://www.cnblogs.com/lifexy/p/8761325.html 25.C++- 泛型编程之函数模板(详解) 标签:函数指针 检查 不同 www. 而且 技术分享 打印 图片 span 原文地址:https://www.cnblogs.com/xiongjim/p/9674159.html
下一篇:html文件基本结构
文章标题:25.C++- 泛型编程之函数模板(详解)
文章链接:http://soscw.com/index.php/essay/97699.html