generic

是什么

  • 算法实现时保有待定类型的参数.

为什么

  • 一份代码用于多个算法(当算法中只数个类型不同的时候)
  • 可重新性
  • 很多常用算法和容器数据结构都可以type-generic的方式实现

why not

  • 许多实际问题只对特定数据结构有意义
  • 在许多常用算法中即使是相近的算法也需要不同的处理
  • 高度一般化,参数化的代码难以维护,调试, 理解

...

差不多就这个东西的意思:

void *max(void *x, void *y, int (*less)(void *, void *)) {
    return less(x, y) ? y : x;
}

这个词压了我好久了, 就知道中文有个叫泛型的, 英文意思和general差不多.
说来, 接受一个英文单词的定义没什么问题, 但是对中文的字词的定义有点难以接收呢.
总的来说, 泛型这名挺酷的, 就这样.

上一篇:java泛型详解(转载文章)


下一篇:探索ASP.NET Core 3.0系列一:新的项目文件、Program.cs和generic host