C&C++
发布时间:2022-04-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了泛型是什么,C++泛型编程又是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在计算机程序设计领域,为了避免因数据类型的不同,而被迫重复编写大量相同业务逻辑的
代码,人们发展的泛型及泛型编程技术。
那么,什么是泛型呢?本节就带领读者深度剖析一下这个问题。
所以泛型,实质上就是不使用具体数据类型(例如 int、double、float 等),而是使用一种通用类型来进行程序设计的
方法,该
方法可以大规模的减少程序
代码的编写量,让程序员可以集中精力用于业务逻辑的实现。
为了更好地说明使用具体数据类型有多么麻烦,这里先举个例子,假设客户需要
一个函数,
功能是返回两个 int 类型数据中较大的那个,很多读者自然而然会编写如下
代码:
int maxt(int x,int y) {
return (x > y) ? x : y;
}
可是没过几天,该
用户又提出需要编写
一个返回两个 double 类型数据中较大的那个,于是我们需要之前的
代码进行
修改:
double maxt(double x,double y) {
return (x > y) ? x : y;
}
之后,该
用户又提出需要再编写
一个能返回两个 char 类型数据中较大的那个...。可以看到,只是
因为数据类型不同,就迫使我们不得不把具
有相同
功能的
代码写了若干遍,这样的
实现方法简直令人崩溃。
为了
解决类似的问题,有聪明的人将
代码修改成如下的样子:
T maxt(T x,T y) {
return (x > y) ? x : y;
}
如此,当
用户需要某个数据类型的 maxt
函数时,我们只需要把其中的 T 替换成
用户需要的实际数据类型就行了。
那么,
代码中的 T 是什么呢?很明显,这是
一个占位符,更确切的说是
一个类型占位符。也就是说,将来在 T 这个位置上的是
一个真实、具体的数据类型,至于到底是哪个类型,完全取决于
用户的需求。
当然,如果硬要给 T 这种类型占位符也叫做一种数据类型,提供这种想法的发明者称它为
泛型(generic type),而使用这种类型占位符的编程方式就被称为
泛型编程。
值得一提的是,既然泛型并不是真实的数据类型,那么使用泛型编写的
代码也就不是真正的程序实体,只能算是
一个程序实体的样板。故此,通常形象的将这种使用了泛型的
代码称为
模板,由模板
生成实际
代码的过程称为
模板的具体实现。
总之一句话,泛型也是一种数据类型,只不过它是一种用来代替所有类型的“通用类型”。在
C++ 中,用以
支持泛型应用的就是标准模板库
STL,它提供了 C++ 泛型设计常用的类模板和
函数模板。
大佬总结
以上是大佬教程为你收集整理的泛型是什么,C++泛型编程又是什么?全部内容,希望文章能够帮你解决泛型是什么,C++泛型编程又是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。