归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言📝
创造机会的人是勇者,等待机会的人是愚者!
一起加油!
前言:
逻辑功能相同而类型不同的函数,可以通过重载实现统一方式(相同接口),不同实现(不同功能)的调用。重载提高了编程的灵活性,但有时重载的两个函数逻辑功能基本一样,只是参数类型不同,几乎相同的代码要重复编写,十分烦琐。此时可以利用模板来减少重复编码工作。模板是实现代码复用的一种工具,是参数多态的一种体现,是提高软件开发效率的一个重要手段。
模板的概念:
函数和类本身是一种抽象,可以解决一类问题,模板是在抽象的基础上再抽象,它可以实现类型参数化,把类型定义为参数,实现代码的复用。从而使得抽象后的函数或类可以处理多种数据类型,这种能处理多种数据类型的函数和类就是函数模板和类模板。经过再次抽象后,程序的通用性。程序员能够通过模板快速建立具有类型安全的类库集合和函数集合,更加快捷、方便高效地进行大规模的软件开发。
例如,编写三个函数分别求三个整形、三个字符型、三个浮点型数的最大值。
int Max(int a,int b,int c)
{
int max=a>b?(a>c?a:c):(b>c?b:c);
return max;
}
char Max(char a,char b,char c)
{
char max=a>b?(a>c?a:c):(b>c?b:c);
return max;
}
float Max(float a,float b,float c)
{
float max=a>b?(a>c?a:c):(b>c?b:c);
return max;
}
利用重载,我们写出了三个同名且函数体类似的函数。这些函数执行的功能都是相同的,只是输入参数的类型和返回的类型不同。能否把这些函数统一成一种形式,即将很多类似函数抽象为统一的形式?解决方法就是运用模板。模板,相当于函数的模具,利用模板就可以套印出许多功能相同,而参数类型和返回值类型不同的函数,最终根据需要得到相应的数据。这样就实现了代码可重用性。
C++的模板有两种不同的形:函数模板和类模板
以上就是我对C++模板——(1)模板的概念的理解,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++模板的理解,请持续关注我哦!!!