泛型编程之2

来源:互联网 发布:编程 知乎 编辑:程序博客网 时间:2024/05/09 23:59

题:

解释一下什么是泛型编程,泛型编程和C++及STL的关系是什么?并且,你是怎么在C++环境里进行泛型编程的?【美国某著名CPU生产公司面试题】

答案:

泛型编程是一种基于发现高效率算法的最抽象表示的编程方法。也就是说,以算法为起点并寻找能使其工作且有效率工作的最一般的必要条件集。令人惊讶的是,很多不同的算法都需要相同的必要条件集,并且这些必要条件有多种不同的实现方式。类似的事实在数学里面也可以看到。大多数不同的定理都依赖于同一套公理,并且对于相同的公理存在多种不同的模型。泛型编程假定有某些基本的法则在支配软件组件的行为,并且基于这些法则有可能设计可互操作的模块,甚至还有可能使用此法则去指导我们的软件设计。STL就是一个泛型编程的例子。C++是我们可以实现令人信服的例子的语言。