泛型编程#
本阶段将讨论 C 泛型编程相关的技术。理解这个问题可以帮助我们更好地理解以下几个问题:
编写可以处理任意类型的代码并了解其中的陷阱
学习如何将函数作为参数进行传递
泛型编程是一种编程范式,在很多语言中都有具体的应用。编写泛型代码可以降低代码重复,减少代码错误。同时,可以帮助我们理解 C/C++ 以及其他编程语言中的类型系统,从而更深刻的理解编程语言的行为。
在泛型编程方面,C 没有提供很多现成的满足类型安全的泛型函数。C 能提供的比较好的泛型函数也就是 bsearch
,qsort
,memcpy
这些。
如果从元素大小而不是元素类型的角度看,C 为构建泛型函数仍然提供了可能。C 可以根据元素的大小进行存储并操作。但是由于类型信息缺失,我们需要非常熟悉其内部机制才能够编写出功能完善且健壮的代码。