《Essential C++中文版》9月20日到手, 今天9月23刚读完第一遍, 谈点看法

陈硕 2001-09-23 09:41:38
我是北京某大学的在校本科生,现大二,熟悉C语言,零零散散看过一些C++的书。
《Essential C++》我刚刚看完第一遍,下面谈谈我的一点粗浅的看法:
本书绝对堪称C++入门经典,但限于篇幅,很多东西只是稍微提了一下,往往出现“如果想要取得XXXXX 的

更广泛讨论,请参见[LIPPMAN98]xx章xxx节,以及[STROUSTRUP97]xx章。”字样。
书中有几处笔误,都出现在代码中,正文中我还没有发现明显错误,除了下面这一处:P.203 第10行,“

[STROUPSTRUP97]”,中间多了一个“P”,应该是“[STROUSTRUP97]”。
比较奇怪的是P.80~81,集中出现了三处笔误(P.74 / P.71也各有一处):

第一处: P.80 顶部
while ( it != ilist.end() )
if ( *it >= ival )
{
ilist.insert( it, ival );
break;
}
if ( it == ilist.end() )
ilist.push_back( ival );
因在while()中,it未自增,似乎应改为:
while ( it != ilist.end() )
if ( *it >= ival )
{
ilist.insert( it, ival );
break;
}
else ++it; /////增加此行
if ( it == ilist.end() )
ilist.push_back( ival );

第二处: P.80 第二个"●"处:
void insert( iterator1 position, iterator2 first, iterator 2 last )可在position....
^^^ ^^^ ^^^
这里的iterator1 / iterator2疑为 iterator 之谬 .


第三处 P.81 第5行,注释中
// it2: 其所指元素将是最后一个被删除元素的下一位置
似乎应改为
// it2: 其所指元素将是最后一个被删除的元素

因为前面数行说“.....可抹除 [first, last] 范围内的元素。”数学中,方括号“[]”
表示区间时,应包含区间端点,所以it2所指的元素也该被删除,不知我这样理解对不对?


书是好书,价格也能接受,比起其他乱七八糟的《XXX入门到精通》好多了。只是有些问题未能深入探讨,

须辅以《C++ Primer 3/e》或《The C++ Programming Language 3/e》。
等《The C++ Programming Language 3/e》到手后,打算再读一遍《Essential C++中文版》.
...全文
96 点赞 收藏 8
写回复
8 条回复
krerix 2001年10月02日
up
回复 点赞
陈硕 2001年10月01日
我不是什么高手,初学罢了。
最近买了 "The C++ Programming Language (Special Edition)" 一书,感觉比较生硬,其中很多单词在“牛津初阶英汉词典”上居然查不到(至少超过英语6级词汇范围),害得我整天抱本一公斤的“牛津高阶英汉词典”备查。结果看Preface就花了半天,跟着的A Tour of C++这一节要稍好些,毕竟有《Essential C++中文版》铺垫。
回复 点赞
magicblue 2001年09月30日
这书我犹豫了半天但还是没买,买了一本 <The C++ Programming Lanuage> S/E ,读了一些章节后终于知道了为什么有些人把她捧的高高的
回复 点赞
brownie 2001年09月30日
solstice真是高手,佩服!
祝中秋节快乐
回复 点赞
dejoy 2001年09月30日
ok
回复 点赞
wilddragon 2001年09月24日
支持一把
回复 点赞
wilddragon 2001年09月24日
好睡了
回复 点赞
wilddragon 2001年09月24日
哈哈
回复 点赞
发动态
发帖子
community_281
创建于2021-05-27

28

社区成员

25.9w+

社区内容

社区公告
暂无公告