C++模板 · 为什么要引入模板机制?
2024-08-30 00:11:53
刚学过类模板时,很不理解,甚至觉得这简直没有用,在自己骗自己嘛!明明很方便的东西,偏偏要加个类模板来回折腾。可能因为我们刚开始写的程序很简单,有时候,可能程序复杂一点,对理解一些概念更有帮助。
今天在网上发现了一篇很好的文章,特此摘录。
- 模板的概念
模板是实现代码重用机制的一种工具,它可以实现类型参数化, 即把类型定义为参数,从而实现了真正的代码可重用性。模板可以分为两类:一个是函数模板,一个是类模板。
举例理解:
//函数1
int max(int a, int b)
{
return (a>b ? a : b);
} //函数2
float max(float a, float b)
{
return (a>b ? a : b)
} //函数3
double max(double a, double b)
{
return (a>b ? a : b)
}
但在主函数中,如果我们定义了char a, b; 使用max()函数时,程序就会出错,因为我们没有定义char类型的重载版本。
如果我们重新审视上述的max()函数,它们具有同样的功能——求两个变量的最大值。能否只写一套代码来解决这个问题呢?当然可以,所以C++引入了模板机制。
下一篇:C++模板:函数模板的写法
最新文章
- ASP.NET MVC Anti-XSS方案
- ubuntu更新软件源
- 如何让linux定时任务crontab按秒执行
- cygwin编译环境小记
- MySQL 字符串截取相关函数
- HDU 5512 Meeting 博弈论
- UVA 825 Walkiing on the safe side
- unix域套接字UDP网络编程
- 记一次小型生产事故 | BeyondComper跨编码方式复制文件内容
- linux内核管理
- JAVA设计模式之【装饰者模式】
- python第九十六天 ---Django(1)
- 1088. [SCOI2005]扫雷Mine【网格DP】
- matplotlib点线 坐标刻度 3D图绘制(六)
- NET设计规范(二) 命名规范
- 整数分解为若干项之和 - PAT
- intellij idea 15,webstorm 最新注册破解
- 程序包com.sun.image.codec.jpeg不存在
- 编程提取字符串";Java is a programming language";中的各个单词,并打印输出。
- 使用sql语句实现添加、删除约束