恰恰相反,泛型编程是高度的抽象,非常地优雅。C++通过模板实现泛型编程。
没有泛型编程,你还会停留在给char写一个函数、再给wchar_t写一个类似函数的古老模式里。
而且有的人甚至还会拿这个对外吹水:“我char类型的处理函数系列写了5000行代码,wchar_t的写了5000行,加起来1w行了,我厉害不?我工作量大不?”
越抽象,肯定是适用性越强,但肯定要花点时间去理解这种抽象。
比如,普通人对自然数肯定是很熟悉,也觉得很舒适的,但是要过渡到负数、实数、虚数等,是需要学习和适应的。
但你不能永远停留在自然数的舒适区里不出来,然后还喷负数、实数、虚数难懂又没鸟用
实际上STL的创始人Alexander Stepanov写过一本书《elements of programming》,里面用了一些不太深奥的数学来讲解泛型编程。这本书估计看的人不多。
【 在 ooolinux 的大作中提到: 】
: 标准库难用的一个原因,是它的各种算法要适配通用的数据类型,比如排序算法,可以用于纯数字排序,也可以是各种自定义的结构体类型排序,所以需要模板库,导致难用。
--
修改:z16166 FROM 221.220.171.*
FROM 221.220.171.*