如何翻译 essential 翻译c++

成为c++高手要看哪些书,从入门的开始说,正在看C++ Primer.Plus_百度知道
成为c++高手要看哪些书,从入门的开始说,正在看C++ Primer.Plus
提问者采纳
可以做的方向也是很多不知道你要成为什么样的高手,C++永无止境,单说C++太宽了,学到现在我是还没有尝到很懂的感觉,而且差别也不小
提问者评价
其他类似问题
为您推荐:
其他1条回答
1.《C++Primer》
  有“C++的百科全书”,C++程序员人手必备。对语法、语义的描述非常细致和严谨,适合有一定经验的C、C++程序员作为工具书和理论指导书使用,但由于其有一定深度,而没有进阶顺序的章节安排,所以不适合初学者做为教材使用,价格略高。
  难度:★★☆
  质量:★★★★★
  广度:★★★★★
  深度:★★★★
  性价:★★★☆
  《C++Primer Plus》
  初学C++不错的书,覆盖面较全,章节安排比较合理,由浅入深,也很容易,故因此失去了一些深度。价格比较便宜,但翻译质量略有不足。
  难度:☆
  质量:★★★☆
  广度:★★★★
  深度:★★★
  性价:★★★☆
  《Essential C++》
stl,多线程方面的呢
本人不是很精通,正在看C++Primer,这书真的很详细,建议看之。另外要学好C,最重要的还是多动手
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁博客访问: 508919
博文数量: 149
博客积分: 1823
博客等级: 上尉
技术积分: 3178
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: C/C++
Essential C++ 第二章知识点如下:
1,函数调用时,传递的参数不同:
bool fibon_elem( int pos, int &elem&)
void main()
&&&&if ( fibon_elem( pos, elem ))
在纯C中,是没有引用的概念的,所以不能定义fibon_elem( int pos, int &elem&)这种类型的函数参数。
在C++中,函数参数中的int &elem表示引用。下面将详细介绍引用的概念。
2,C++中的引用:
A reference serves as an indirect handle to an object. We declare a reference by sandwiching an ampersand ( & ) between the type's name and the name of the reference:
int ival = 1024; // an object of type int
int *pi = &ival; // a pointer to an object of type int
int &rval = ival; // a reference to an object of type int
那么为什么要使用引用呢?以下两段话解释地很好:
When an object is passed to a reference parameter, the object's value is not copied. Rather, the address of the object being passed is copied. Each access of the reference parameter within the
function is an indirect manipulation of the object passed in.
One reason to declare a parameter as a reference is to allow us to modify directly the actual object being passed to the function. This is important because, as we've seen, our program otherwise may behave incorrectly. //声明一个引用可以直接更改传给函数的对象
A second reason to declare a parameter as a reference is to eliminate the overhead of copying a large object. This is a less important reason. Ou it is simply less efficient. //声明成一个引用可以不用拷贝目标对象
在作为函数参数时,引用和指针有什么不同呢?
The effect is the same: We pass the address of the object into the function rather than make a copy of the entire object. One difference, of course, is the syntax between a reference and a pointer. //效果相同,都是传递对象的地址,而不是整个对象的拷贝。第一点区别是,二者的语法不同。
A more important difference between a pointer and a reference parameter is that a pointer may or may not actually address an object. Before we dereference a pointer, we must always make sure that it is not set to 0. A reference, however, always refers to some object, so the check for 0 is unnecessary.&//更重要的不同是:指针可能并不指向一个对象,在解引用一个指针前,必须确保这个指针不是空指针,而引用则一直都指向某个对象,故不用对引用进行是否为空的检查。
第三点不同是百度得到的结果:
指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变。
3,new 和 malloc分配空间(from web):
相同点:都可用于申请动态内存和释放内存
(1)操作对象有所不同。
malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加malloc/free。
(2)在用法上也有所不同。
函数malloc 的原型如下:
void * malloc(size_t size);
用malloc 申请一块长度为length 的整数类型的内存,程序如下:
int *p = (int *) malloc(sizeof(int) * length);
我们应当把注意力集中在两个要素上:“类型转换”和“sizeof”。
malloc 返回值的类型是void *,所以在调用malloc 时要显式地进行类型转换,将void * 转换成所需要的指针类型。
malloc 函数本身并不识别要申请的内存是什么类型,它只关心内存的总字节数。
函数free 的原型如下:
void free( void * memblock );
为什么free 函数不象malloc 函数那样复杂呢?这是因为指针p 的类型以及它所指的内存的容量事先都是知道的,语句free(p)能正确地释放内存。如果p 是NULL 指针,那么free
对p 无论操作多少次都不会出问题。如果p 不是NULL 指针,那么free 对p连续操作两次就会导致程序运行错误。
new/delete 的使用要点
运算符new 使用起来要比函数malloc 简单得多,例如:
int *p1 = (int *)malloc(sizeof(int) * length);
int *p2 = new int[length];
这是因为new 内置了sizeof、类型转换和类型安全检查功能。对于非内部数据类型的对象而言,new 在创建动态对象的同时完成了初始化工作。如果对象有多个构造函数,那么new 的语句也可以有多种形式。
如果用new 创建对象数组,那么只能使用对象的无参数构造函数。例如
Obj *objects = new Obj[100]; // 创建100 个动态对象
Obj *objects = new Obj[100](1);// 创建100 个动态对象的同时赋初值1
在用delete 释放对象数组时,留意不要丢了符号‘[]’。例如
delete [] // 正确的用法
// 错误的用法
后者相当于delete objects[0],漏掉了另外99 个对象。
阅读(1210) | 评论(0) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。学习C++从入门到精通的的十本最经典书籍
学习C++从入门到精通的的十本最经典书籍
  (发表于2004年)贴子增多太快,现以个人之见对C++十大学习书籍做简要描述,希望能对初学者起到一定的帮助。
  这十本书我都或翻或看过,有不同程度的了解,如果您对某本书的评论感到不满意,肯请在下面留言,谢谢指教!
  另外,强调一下发此贴的本意,今后论坛中不得出现问书的贴子,尤其是询问初学C++该看哪本书之类的,如有发现立即无条件移至非技术区,对书有不明之处,如有关书籍的价格、书目、简介、网友评论等信息,若还无法得到解决,再在此贴下面回复询问,不要在版内发贴!
  1.《C++ Primer中文版》(第4版)
  【原书名】 C++ Primer (4th Edition)
  【原出版社】 Addison Wesley/Pearson
  【作者】 (美)Stanley B.Lippman,Josée LaJoie,Barbara E.Moo
  【译者】 李师贤
  【丛书名】 图灵计算机科学丛书
  【出版社】人民邮电出版社
  本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++.本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E. Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。书中不但新增大量教学辅助内容,用于强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。本书的前言阐述了 第4版和前一版的不同之处。
  难度:★★☆
  质量:★★★★★
  广度:★★★★★
  深度:★★★★
  性价:★★★☆
  2.《C++ Primer Plus》(第四版)中文版
  【原书名】 C++ Primer Plus,Fourth Edition
  【原出版社】 Sams
  【作者】 (美)Stephen Prata
  【译者】 孙建春 韦强
  【丛书名】 Primer Plus 系列
  【出版社】 人民邮电出版社
  本书针对的是C++初学者,书中从C语言基础知识开始介绍,然后在此基础上详细阐述C++新增的特性,因此不要求读者有C语言方面的背景知识。本书可作为大中院校教授C++课程的教材,也可供初学者自学C++时使用。覆盖面较全,章节安排比较合理,由浅入深,也很容易,故因此失去了一些深度。价格比较便宜,但翻译质量略有不足。现在,第五版也出版了,不过还没有读,看章节都差不多。
  难度:☆
  质量:★★★☆
  广度:★★★★
  深度:★★★
  性价:★★★☆
  3.《Essential C++》(影印版)
  【原书名】 Essential C++
  【原出版社】Pearson Education
  【作者】 (美)Stanley B.Lippman
  【丛书名】 深入C++系列
  【出版社】 中国电力出版社
  lippman的一部面向初学者的作品。在他写了那么后一本primer之后,为何还要写这么薄这么浅的书呢?其实primer对于初学者来说太笨重了,而这本书却是从不同的方面――C++的本质和组织结构对语言进行阐释,可以帮助初学者对这门语言有一个大致的了解,但知识范围不很全面,不适合系统学习,读者需要一定的编程知识。
  难度:★☆
  质量:★★★★
  广度:★★★☆
  深度:★★★
  性价:★★☆
  4.《Effective C++》
  【原书名】 Effective C++, Third Edition
  【原出版社】 Addison Wesley/Pearson
  【作者】 (美)Scott Meyers
  【出版社】 电子工业出版社
  《More Effective C++》
  【原书名】 More Effective C++: 35 New Ways to Improve Your Programs and Designs
  【原出版社】 Addison Wesley/Pearson
  【作者】 (美)Scott Meyers
  【丛书名】 C++设计新思维系列丛书
  【出版社】 机械工业出版社
  C++真牛人大手笔,之以条款的形式回答了程序员在使用C++时经常提出的“因该注意些什么?”,“因该避免什么?”,“因该怎样去解决?”,“为什么?”等问题。C++程序员想要让自己的水平上更高的档次,此二书必看。价格稍贵,有一定难度,不适合初学者。
  难度:★★★☆
  质量:★★★★★
  广度:★★★
  深度:★★★★★
  性价:★★
  5.《C++编程思想》
  【原书名】 Thinking in C++
  【原出版社】 McGraw Hill
  【作者】 Bruce Eckel
  【译者】 刘宗田 等
  「丛书名」 计算机科学丛书
  【出版社】 机械工业出版社
  除了讲述语言之外,有一定的工程性,从设计者的角度来描述C++怎样应用在实际的项目中。语言描述的全面性欠佳,但还是有一定精度的,尤其是在一些小技巧方面。本书还引入了大量的战例,通过一个个的真实项目来引导你使用C++的思想去思考问题。翻译很差,有一定难度。
  难度:★★☆
  质量:★★★
  广度:★★★☆
  深度:★★★★
  性价:★★★
  6.《C++大学教程》(第二版)
  【原书名】 The Complete C++ Training Course,Second Edition
  【作者】 (美)Harvey M.Deitel Paul James Deitel
  【译者】 邱仲潘 等
  【丛书名】 国外计算机科学教材系列
  【出版社】 电子工业出版社
  正如其名,真正的大学教程,非常适合初学者学习,内容由浅入深,对C++各项特性的描述都很到位,章节的安排很有条理性,但深度略显不足,翻译质量不能称之为很好,有一定的疏漏,但对于厚度来讲,价格还算比较便宜。
  难度:★
  质量:★★★☆
  广度:★★★★★
  深度:★★★★
  性价:★★★★☆
  7.《C++语言的设计和演化》
  【原书名】 The Design and Evolution of C++
  【原出版社】 Addison-Wesley
  【作者】 (美)Bjarne Stroustrup
  【译者】 裘宗燕
  【丛书名】 计算机科学丛书
  【出版社】 机械工业出版社
  对于热爱C++的朋友来说,确实好书一本,可以当做小说来读,可以放在厕所或床头上以供消遣。本书对语言本身描述很少,并有一定难度。读者需要对C++有一定了解,不适合初学者阅读。本书也有英文版,如果不喜欢翻译的朋友可以看看。
  难度:★★★
  质量:★★★
  广度:★★☆
  深度:★★★★
  性价:★★★
  8.《C++程序设计语言》
  【原书名】 The C++ Programming Language, Special Edition
  【原出版社】 Addison Wesley
  【作者】 (美)Bjarne Stroustrup
  【译者】 裘宗燕
  【丛书名】 计算机科学丛书
  【出版社】 机械工业出版社
  C++之父所作,被称之为“C++圣经”。不仅对语言,而且对语言周边的一些如发展史、语义哲学都有比较详细的描述。对语言的描述较为全面,同时包含一部分和程序库相关联的知识,并有一定深度,适合有一定语言基础的初学者,翻译质量不错,价格适中。
  难度:★☆
  质量:★★★★☆
  广度:★★★★☆
  深度:★★★★
  性价:★★★☆
  9.《深度探索C++对象模型》(影印版)
  【原书名】 Inside the C++ Object Model
  【原出版社】 Pearson Education
  【作者】 (美)Stanley B.Lippman
  【丛书名】 深入C++系列
  【出版社】 中国电力出版社
  第一代C++编译器开发主管所写。如果你想成为真正的C++高手,看这本书,他为你讲述了编译器在处理各种语法时在“后台”所做的事。对C++有较深入了解的读者会在读后有恍然大悟之感。候杰翻译,质量相当不错,但内容太深,只适合对C++有较深了解的读者,价格偏贵。
  难度:★★★★☆
  质量:★★★★★
  广度:★★★
  深度:★★★★★
  性价:★★
  10.《C++程序设计教程》(钱能-清华版)
  【作者】 钱能 董灵平 张敏霞
  【丛书名】 C++程序设计系列教材
  【出版社】 清华大学出版社
  国人所著,国人水平实在有限,深度和广度欠佳,放在这十大里实在是因为再挑不出好书了。可圈可点之处有讲解较为清析、简单,符合中国学生思路,价格便宜。
  难度:☆
  质量:★★★
  广度:★★★☆
  深度:★★★
  性价:★★★★★
  鉴于目前问书的贴子增多太快,现以个人之见对C++十大学习书籍做简要描述,希望能对初学者起到一定的帮助。
  这十本书我都或翻或看过,有不同程度的了解,如果您对某本书的评论感到不满意,肯请在下面留言,谢谢指教!
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&大家评价一下&&C++程序设计语言(特别版)十周年中文纪念版&&这本书翻译的怎么样?
[问题点数:100分,结帖人candeabc123]
大家评价一下&&C++程序设计语言(特别版)十周年中文纪念版&&这本书翻译的怎么样?
[问题点数:100分,结帖人candeabc123]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2010年5月 C/C++大版内专家分月排行榜第三2010年3月 C/C++大版内专家分月排行榜第三2010年1月 C/C++大版内专家分月排行榜第三
2012年5月 专题开发/技术/项目大版内专家分月排行榜第二2010年3月 C/C++大版内专家分月排行榜第二
2012年4月 Linux/Unix社区大版内专家分月排行榜第三2011年7月 Linux/Unix社区大版内专家分月排行榜第三2010年2月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。下次自动登录
现在的位置:
    昨天写了一篇,就有人回复问我如何学好C++,所以,我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为中谈到了算法和系统,所以这里就只谈C++语言。
C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至认为C++并不是一门成熟的编程语言,因为太容易犯错了。所以,你一定要在一开始就要有很小心谨慎的态度,并把C++当成一种难以训服的猛兽来看待。
多问“为什么要这样”的问题。学习C++一定要多问几个“为什么是这样”,“凭什么要这样”的问题。比如:很多人知道C++有拷贝构造函数和初始化列表,但你真的知道为什么要有拷贝构造函数?为什么要有初始化列表吗?为什么要有template,为什么要有 RTTI,为什么不是别的呢?难道就是为了让一门语言变得Cool一些吗?完全不是这样的,C++中的任何一个feature都有些实实在在的原因,你一定要去了解为什么要把C++设计成这样的原因,你才能学好C++。有空看看《C++演化和设计》一书。
看书,大量的C++书。你可以按如下先后顺序阅读(下面这些书,我花了大约4-5年的时间,今天我还在随时温习)
《》,这本初级读本可能让会你啃得很痛苦,所有的语言的特性和为什么都在里面了,好好读读。当然由C++之父写的《》也不错。两本看一本就好了(我看的是前者)。
了解C++的语法仅仅是万里长征的第一步,你还需要看看《》和《》这两本书并不厚,但我从02年就一直看到现在,每次读我都有新的体会,这两本书太经典了。如果你对C语言不熟,这两本书会让你回去补C语言的课。
同样是另一本经典之极的书,学c++必读,但是中文版的翻译的很不好,所以还是去读英文版的吧。
《》同样非常值得一读,这里教的不是编程,而是思考的方法,这是相当珍贵的。
《》和《》让你看看各种问题的解决方法和一些常见的经典错误。
《》和《》可以让你知道C++各种神奇的用法。
《》是把C++实践到了极致的东西。很强大。STL——神一样的模板库(容器,算法和函数对象),不得不服。
《》让你了解编译器下的C++是什么样的,让你了解C++的性能并不差。这个对于C++的程序员太关键了。我以前写过的《》还有《》属于这个范畴。
和Java语言做对比。我个人以为Java对C++这个并不成熟的语言做了很多调整,规范和限制。所以,对比一下Java和C++,想一想,为什么一些东西在C++中可以做,但在Java中却不行。比如:Java的异常是必需要catch的,不然就会编译不通过。为什么Java不提供操作符重载?为什么Java会引入接口来做多重继承?为什么Java没有像C++那样的I/O字符流?为什么Java不支持指针?为什么Java可以做到垃圾回收?等等。Java体现着很多面向对象设计的东西,学习Java有助于你学会怎么更好地使用C++来编程。
面向对象设计 。虽然面向对象可能是个骗局。但是我觉得面向对象设计中的一些实践非常的不错,比如,单一原则,依赖倒置原则,等等,都非常地经典。《》必需一读,《》可以一读。但不可以设计模式为中心来编程,而应该是用设计模式来解藕。
类库学习。看看MFC是怎么封装Windows API的,看看ACE是怎么面向对象的,看看boost是怎么玩面向对象的,看看CPPUnit又是怎么设计的。当然,,可以参考。
希望没有吓到大家,并欢迎大家补充。
—————更新
19:20————
更新几个观点:
1)我不擅长写书评,所以推荐的这些书可能会让你有点看点没有感觉,你可以上豆瓣或是China-pub上看看书评。
2)C++有很多奇淫技巧,有的很BT,包括虚函数表,也许会有人觉得有点没意思,但我觉得很有意思,一方面可以了解一门语言的实现细节,另一方面可以开阔思路。我从学习这些知识中受益很多。
3)上述是我的个人的学习历程,我觉得对我很有效,所以是经验之谈。
4)这类的文章在网上有很多很多,我不是第一个写这样的文章,我也不是写得最好的,我并不希望用长篇大论来谈论什么。只是想给大家了解一下大概的学习样子。毕竟,C++博大精深,任何一篇文章都无法说好。不如就简单一些。
【上篇】【下篇】
您可能还会对这些文章感兴趣!
外部的引用: 3 条
为什么C和C++牛人多 & 求索阁
学习C++从入门到精通的经典书籍(修正版) & 求索阁
实用主义观点:如何学习使用C++ & 求索阁
百度站内搜索
同分类最新文章}

我要回帖

更多关于 essential c 6.0 pdf 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信