是什么
- 算法实现时保有待定类型的参数.
为什么
- 一份代码用于多个算法(当算法中只数个类型不同的时候)
- 可重新性
- 很多常用算法和容器数据结构都可以type-generic的方式实现
why not
- 许多实际问题只对特定数据结构有意义
- 在许多常用算法中即使是相近的算法也需要不同的处理
- 高度一般化,参数化的代码难以维护,调试, 理解
...
差不多就这个东西的意思:
void *max(void *x, void *y, int (*less)(void *, void *)) {
return less(x, y) ? y : x;
}
这个词压了我好久了, 就知道中文有个叫泛型的, 英文意思和general差不多.
说来, 接受一个英文单词的定义没什么问题, 但是对中文的字词的定义有点难以接收呢.
总的来说, 泛型这名挺酷的, 就这样.