<1>某些算法不一定依赖于数据结构。可以将ADT独立出来。
比如用算法包含对象。
<2>在考虑一个(抽象)操作时, 复杂度(或者至少是一般观念上的复杂度)必须被同时考虑在内.
<3>性能和跨平台性应该在许可范围之内。
<4>'副效应'和'状态'都不一定是坏的。但是必须懂得正确的应用。
考虑Generic Pramming 实现的前提条件。
不同语言工具对于通用编程的支持是不同的。
(语言不同,设计和编程的实现思想不同---源于语言设计理念
和语言面向的领域差异)
继承无法在C++中成功实现数据结构和容器类。
而模板机制可以相当完美的解决这个问题。
指针等地址机制对于某些算法是必需的。
计算机科学的发展是站在巨人(广大程序员)肩上的。
是实际问题解决发展的必然结果。
C语言在解决实际问题和映射计算机抽象上面是成功的(相对其他语言)。
<对自然选择的一种无实际价值的解释>
C++语言中不但必须不仅需要模板类,还必须要有木板实现机制
C++中的template设计为可以由重载隐式的实例化。
算法的计算机实现应该与它的数学理念相吻合。
标准容器被分为两种, 顺序的与关联的。
局部定制(partial specialization)以提高效率.
STL 导致Generic programming style.
接口和基本复杂度的确定。
抛开Intel的体系结构不谈,内存模式其实是一个对象,封装了有关指针的信息:这个指针的整型尺寸和距离类型是什麽,相关的引用类型是什麽,等等。如果我们想利用各种内存,比如持久性内存,共享内存等等,抽象化的工作就非常重要了
OOp就是组件与接口分离,并让组件巨头多态性。
任何一种语言都是它那个时代的产物。
逻辑的优美 效率 通用性 实现的复杂程度和人们的喜好