C++ stl 编程C++ STL 体系结构、 编程方法及存在的问题10448236 李健一、STL 概述1.1 C++标准库高级程序设计语言希望尽可能减少程序员的重复工作, 因此提供了各种抽象机制降低程 序复杂性。 在程序设计实践中积累了许多经验和代码, 充分利用这些经验和代码是降低程序 复杂性的有效途径。 程序设计语言必须提供代码重用的机制。 一般而言有源代码级别的重用 和二进制代码级别的重用两种机制, 源代码级别的重用非常简单, 只需要将源代码一起编译 即可。但是许多时候源代码丢失或者厂商不愿意公开源代码,只有二进制代码可用,此时程 序设计语言应该提供重用二进制代码的机制。 许多程序设计语言提供了标准库和相应的库管 理机制, 通过标准库用户可以使用常用的算法和数据结构, 通过库管理机制用户可以使用第 三方的库,从而扩充标准库。 现代编程语言倾向于将程序设计语言理解为程序设计环境。 除了核心的语言成分外, 还 包括编程实践中经常用到的算法和数据结构,作为核心语言的支持。例如 Java 规范中就明 确提到语言提供的标准库 java.lang.*将自动加载,C 语言规范中对标准库也有相应的定义。 Pascal 因为没有定义标准库和提供库管理机制被许多 C 程序员诟病。 C++在许多方面类似 C,例如采用 C 中的虚拟机观点,具有指针,类型结构的内存布局 于 C 相同,但是 C++在更多的方面与 C 不同。C++中引入了更高级的面向对象抽象机制, 提供了构造大型程序的名空间机制,具有比 C 复杂的类型机制,具有编译时模板机制,具 有更多的运行时机制。因此需要设计体现 C++特色的标准库。 C++的特色在于提供灵活的机制,执行效率高。标准库作为语言的支持成分,需要大量 的重复使用,因此 C++标准库应该体现效率。这也是 C 标准库的特征之一。其次 C++提供 了高级抽象机制, 因此标准库……