[声明]:本文由kingofark创作。本文中的所有内容仅代表kingofark个人的观点,与任何其他个人或团体无关。任何人或团体都可以复制、传播本文,但需附上完整的本声明。kingofark对于不同意上述各点或不履行上述各要求的个人或团体的言行不负任何责任。特此声明。
kingofark的第2个“五评计划”——五评C++(2)
[kingofark的话]:第1个“五评计划”的发表已经是相当久远的事情了。kingofark并无意“评”出个什么,只不过看书之余随便发作一下。文字写出来了,谓之“杂感”,与“评”并无多大关系。所谓“推荐度”,也多多少少是个人情绪化偏执的部分体现,不外乎主观随机数发生器的一次输出,因此请大家千万别当回事儿——民间的说法,听听罢,可以全不信,不宜全信。……好,回到正题——呃,那个……可以暂停向我掷烂西红柿吗?好的,好多了。谢谢——本期继续上期的C++主题,涉及的内容仍是以C++语言本身为议题,包括3本参考书、一本“课外书”以及一个著名的期刊。……哦,可以继续掷烂西红柿了。
[一]:《标准C++宝典》,[美] Al Stevens/Clayton Walnum 著,林丽闽/别红霞 等译,电子工业出版社 2001年
[推荐度]:1
[推荐理由]:
美国IDG“宝典”丛书笔者买过两本,一本是《Flash 4宝典》——不幸的是该书内容于笔者太过专业,笔者从中找不到太多给门外汉使用的实用信息(买错了书?唔,看来是这样);另一本就是这里的《标准C++宝典》,原书名为《Standard C++ Bible》。
该书在内容的组织形式上是“传统的”参考书形式,分为五大部分。第一部分“C++语言”,介绍计算机语言的基础要素,从“C语言和C++语言的简要历史”开始讲起,接着便是——关键字啦、函数啦、if-else-then啦、数据类型啦,直至库函数、预处理、类、模板等的概念和描述;第二部分“类的使用”着重介绍运算符重载、继承、类模板,却在该部分的最后一章(第16章)以“面向对象程序设计”为标题,用9页篇幅对面向对象作了个简介(算不上精辟)——给人一种错觉,大有“前面介绍的都不是OO的”之误导嫌疑(对一个“阳春”初学者的心理影响可想而知),至少也是“先斩后奏”(为了让初学者“豁然开朗”?为何不让顺序阅读的、循规蹈矩的入门者先对自己要了解的东西有个较高较广角度的概观和认识?)——似乎更应该放到第一部分去,作者如此这般的意图实在无法推敲;第三部分“C++标准库”;第四部分“标准模板库”,居然没有讲auto_ptr(当然不排除笔者没找到的情况;由于该书没有索引,因此倘若auto_ptr窝在哪个角落,笔者甘拜下风——实在找不着!),其内容覆盖面可见一斑,实在不值一提;第五部分“C++高级主题”,讨论的(竟然)是namespace、转型(cast)以及本地化(std::locale)——使用STL的时候,不了解namespace概念怎么行?怎么着也算不上高级吧!?——给笔者印象深刻的是作者对书中using namespace语句例子的说明:
(清单26-2中写了一个简单的程序,在main()之前使用了“using namespace std;”)
“……然而请注意,并没有一种可以推荐的程序设计惯例,因为使用名字空间语句基本上是在全局层次设置特定的名字空间,这几乎完全违背了名字空间最初的目标。清单26-3示例了在将using namespace语句包含于程序中时可能遇到的问题。”
*******************************************
全书处处包含完整的例子代码,有助于初学,当然也带来问题——由于该书没有索引,所以参考查阅者不得不屡屡翻过丰富的例子代码以便找到自己需要的只言片语。还有一个揪心的地方是该书第1章对C++的一句话简介:
“C++是具有面向对象扩充内容的过程型程序设计语言”。
(沉默)
我们先看看C++设计者Bjarne Stroustrup是怎样用一句话介绍C++的吧:
“C++是一种使用静态类型机制的(statically-typed)、通用目的(general-purpose)的语言,它通过类机制和虚拟函数机制来支持面向对象程序设计,通过模板机制来支持泛型程序设计,并通过提供底层的语言设施来支持详细的系统程序设计。”(摘自A Brief Look At C++,kingofark译)
“C++ is a general-purpose programming language with a bias towards systems programming that
- is a better C,

本文是kingofark的“五评C++(2)”,介绍了多本C++相关书籍和期刊。包括《标准C++宝典》《掌握标准C++类》等书,分析了各书内容、优缺点及推荐度,还提及《C++ View》电子期刊,最后杂谈《C++ Primer》简体中文版出版情况。
5069

被折叠的 条评论
为什么被折叠?



