对于C++标准库进行说明了解

开发 后端
C++标准库上还会出现一大堆英语,可以不做考虑。按照步骤往下敲就行了。压缩包内文档很详细,参照文档继续就可以了。

C++标准库的那些奇技淫巧也并非空穴来风,总有时候会需要用到的。但是你不需要预先把C++的所有细节和技巧存在脑子里才能够去编程,下面进行学习介绍。

标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。

1、Dinkumware C++ Library
参考站点:http://www.dinkumware.com/P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。

其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C++的产品中采用Dinkumware的库。

2、RogueWave Standard C++ Library
参考站点:http://www.roguewave.com/这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的库给替换了。笔者不推荐使用。

3、SGI STL
参考站点:http://www.roguewave.com/SGI公司的C++标准模版库。

4、STLport
参考站点:http://www.stlport.org/SGI STL库的跨平台可移植版本。

也就是说,随便你拿起哪本C++书籍(包括很多被人们广泛称为“必读经典”的),那么有很大的可能这本书中的内容不是你应该学的,而是你不应该学的。我之所以这么说有两个原因,因为一,我曾经是受害者。二,也是更实质性的原因,这些所谓的必读经典,充斥的是介绍C++中的陷阱和对于C++的缺陷的各种workarounds(好听一点叫Idioms(惯用法)或techniques(技术));

又因为C++中的这类陷阱和缺陷实在数不胜数,所以就拉出了一个“长尾”;这类书籍在所有语言中都存在(“C++标准库缺陷和陷阱”、“Effective Java”、“Effective C#”等等),然而在C++里面这个尾巴特别长,导致这类书数不胜数。

三,这些书中列出来的缺陷和陷阱根本不区分常见程度,对于一个用本程序员来说,应该希望看到“从最常见的问题到最不常见的问题”这样的顺序来罗列内容,然而这些书里面要么全部混在一起,要么按照“资源管理、类设计、泛型”这样的技术分类来介绍内容。

这根本毫无帮助(如果我看到一个章节的内容,我当然知道它讲的是类设计还是资源管理,还用废话么?),使得一个学习者无法辨别并将最重要的时间花在最常见的问题之上。 #t#

最最关键的是:这些书当中介绍的内容与成为一个好程序员根本毫无关系,它们顶多只能告诉你——嗨,小心跌入这个陷阱。或者告诉你——嗨,你知道当你(八辈子都不一定遇到)遇到这个需求的时候,可以通过这个技巧来得以解决吗?

结果读了一本又一本之后,你脑袋里除了塞满了“禁止”、“警戒”、“灯泡”符号之外,真正的编程素质却是一无长进。又或者有这样一类书,热衷于解释语言实现背后的机制,然而语言特性本质上是干嘛用的?是用来在实际编码中进行抽象的(说得好听一点就是“设计”),不是用来告诉你这个特性是怎么支持的。比如我就见过以下的情景:面试官问:“你知道虚函数吗?”得到的回答是一堆关于虚函数表机制的解释。

面试官又问:“那虚函数的好处是什么呢?”到底为什么要虚函数呢?C++标准库得到的回答是:“恩…啊…就是…多态吧”(这时已经觉得回答不够深刻了)。再问:“那多态是干嘛的呢?”哑口无言。

责任编辑:chenqingxiang 来源: ChinaUnix
相关推荐

2010-01-19 09:39:43

C++标准程序库

2010-01-19 09:39:43

C++标准程序库

2010-01-26 13:55:07

C++标准模板库

2010-01-19 17:54:47

C++程序

2010-01-13 17:32:02

C++数据类型

2010-01-18 10:01:48

C++中访问控制

2010-01-19 13:32:20

C++操作符

2010-01-20 11:02:42

C++开发环境

2010-02-23 17:35:46

Python

2010-01-13 16:08:31

C++语言

2010-01-13 16:44:03

C++

2010-01-11 15:02:10

Visual C++

2010-01-12 17:33:06

C++

2009-12-08 14:51:35

Silverlight

2010-01-15 17:47:14

C++界面库

2010-01-14 15:46:27

C++标准库

2010-01-11 11:16:37

C++编程

2010-02-03 16:04:34

C++标准类库

2010-01-14 09:43:26

C++标准程序库

2019-09-18 09:05:26

微软开源Windows
点赞
收藏

51CTO技术栈公众号