关于:C++ Primer

ribut9225 2007-08-03 04:42:02
在当当上看到的和在china-pub上看到的
同样是C++ Primer 第四版,中文版
出版社不同,目录里的内容也不同

到底应该买那本?
请看过的大侠指点一下
当当里的网址:
http://product.dangdang.com/product.aspx?product_id=9157098
作者:(美)Stanley B. Lippman Barbara E. Moo Josée LaJoie 著,李师贤 等译

china-pub里的网址:
http://www.china-pub.com/computers/common/info.asp?id=28767
是图灵出版社的
【译  者】 李师贤[同译者作品] 蒋爱军 梅晓勇 林瑛

好像译者都一样,作者也一样
为什么目录内容会不同?
...全文
310 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael_chenyun 2007-08-15
  • 打赏
  • 举报
回复
看英文的吧。。。
ribut9225 2007-08-04
  • 打赏
  • 举报
回复
谢谢各位
Vitin 2007-08-03
  • 打赏
  • 举报
回复
还是看原版吧。
曾看过这几位译者同步写的《C++ Primer习题解答》,其中有解答不怎么正确。

比如习题2.12关于左值和右值的解答,原文中明明不是那样说的,有将译者的意图加入的感觉。
他们是这样说的:
"...(前面是原文根本没有的对左/右值的定义,属于译者自己的认识,就不说了)
变量名出现在赋值运算符的左边,就是一个左值;而出现在赋值运算符的右边的变量名或字面常量就是一个右值。例如: val1=val2/8
这里val1是一个左值,而val2和8都是右值。"

我觉得这样说是错的。右值不是val2和8,而是val2/8这个表达式。val2/8不能放在等式左边,所以它是右值。同样的,如果是 a = b = 8 这样的式子,用上面的说法根本解释不通,b是左值还是右值呢?

注意原文是:
lvalue: An expression that is an lvalue may appear as either the left-hand or right hand side of an assignment.
rvalue: An expression that is an rvalue may appear on the right- but not left-hand side of an assignment.

有两点是不同的,
1、lvalue/rvalue指的是表达式,而不是变量名或字面常量
2、并不是出现在赋值运算符右边就是右值,而是只能出现在右边才是右值

所以,对于 val1=val2/8,可以肯定的是 val2/8 是右值。这也不是单从这个式子就可以看出来的,而是 / 运算返回的是右值,所以 val2/8 是右值。至于8是右值,这是正确的,因为8是字面常量,只能做右值。而val2则是不确定的。
对于 a = b = 8 ,表达式 b 是左值,因为它作为一个表达式出现在 = 8 的左边。而表达式 b = 8 仍然是左值!因为你也可以这样写:(b = 8) = 10 [这里括号只是为了改变优先级]。左值也可以放在赋值运算符右边。当左值处于需要右值的环境时,如 a = (b = 8) 时,将发生lvalue to rvalue 的标准转换。但是不可以因此说 b = 8 就是右值;更不能相对于 a = 拆出表达式 b = 8 中的变量,说b是一个右值!

虽然目前为止只发现这个问题(我也只看了一点点),但是让人很不放心。正文的翻译版没看过,不知道这段会翻译成什么样。总之还是看原版比较好。而且C++ Primer的行文看上去不难,应该比较容易读的。
lovesoo 2007-08-03
  • 打赏
  • 举报
回复
当当 我就是在当当买的~~~
gfxiang 2007-08-03
  • 打赏
  • 举报
回复
还是啃原版吧,原滋原味
digu 2007-08-03
  • 打赏
  • 举报
回复
据说第四版翻译的很烂。
lz三思。
david2083 2007-08-03
  • 打赏
  • 举报
回复
jf
bill2ccssddnn 2007-08-03
  • 打赏
  • 举报
回复
接分
kenan2002 2007-08-03
  • 打赏
  • 举报
回复
yeah~~~~~~
jxlczjp77 2007-08-03
  • 打赏
  • 举报
回复
哈哈,接分
lockhall 2007-08-03
  • 打赏
  • 举报
回复
印刷排版不一樣唄。
ribut9225 2007-08-03
  • 打赏
  • 举报
回复
晕啊
自己搞错了
目录内容一样的

路过的来接分吧

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧