![56e4966fc182cdaf6f5d8da132de3fca.png](https://img-blog.csdnimg.cn/img_convert/56e4966fc182cdaf6f5d8da132de3fca.png)
介绍如何使用C/C++模板提高程序可靠性和简化代码的实现。
模板是指作图或设计方案的固定格式。在代码层面上来看,模板是固定格式的代码。我们通过固定格式的代码模板实现不同的代码模型。C语言模板一般为函数模板,而C++除了函数模板外还有类模板。
模板
- 函数模板格式:
template
- 函数模板使用:
template
- 类模板格式:
template
- 类模板使用:
template
不用模板与用模板
我们不使用模板交换两个值的一般实现方法:
/* 交换两个整型值 */
使用函数模板后,这样会变得非常简单:
/* 实现交换两个数的模板函数 */
在使用模板的地方编译器会在编译期展开,自动生成代码。模板也可以看作类型安全的宏。 例如:
template
编译器就会自动生成以下代码:
void
这样我们平时一些重复的代码就可以利用模板特性让编译器自动生成了,从而提高程序可靠性和简化代码的实现。
模板威力
- 使用模板函数来实现编译期计算数组长度(在编译期就能获取到数组长度)。
template
- 类模板,实现不同类的单例。
template
- 利用模板针对性能优化,尽管下列例子在一维数组基本没什么优化,但在用在多维数组上却是可以优化数据的分页缓存刷新,从而提升性能。
template
更多精彩内容请关注公众号Qt君,第一时间获取推送信息。