C++Primer(英文版)(第4版)

Stanley B.Lippman

出版时间

2006-11-01

ISBN

9787115151698

评分

★★★★★

标签

计算机

书籍介绍

《C++Primer》(英文版)(第4版)(图灵原版计算机科学系列)是久负盛名的C++经典教程,已经帮助全球无数程序员学会了C++。这一全新版本进行了彻底的修订,章节内容和编排都经过了重新组织,既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。

本书新版特色

一开始就介绍C++标准库,使读者能够尽快编写实用程序,从而始终在实战环境中学习。

讲授现代编程风格和程序设计技术。

新增了大量教学辅助内容,用于强调重要的知识点、常见的错误、优秀的编程实践和使用提示。

大量来自实战的示例和习题,可以巩固所学技能。

书中例程的完整源代码可从www.turingbook.com网站下载。

本书所有作者都是著名的C++权威人物。

Stanley B. Lippman目前是微软公司 Visual C++ 团队的架构师。他从1984年开始在贝尔实验室与C++的设计者Bjarne Stroustrup一起从事C++的设计与开发。他在迪士尼和梦工厂从事动画制作,还担任过JPL的高级顾问。他还著有Inside the C++ Object Model。

Josée Lajoie曾经是IBM加拿大研究中心C/C++编译器开发团队的成员,在ISO C++标准委员会工作了7年,担任过ISO核心语言工作组的主席和C++ Report杂志的专栏作家。

Barbara E. Moo是拥有25年软件经验的独立咨询顾问。在AT&T,她与Stroustrup、Lippman一起管理过复杂的C++开发项目。她和Andrew•Koenig合著了Accelerated C++和Ruminations on C++。

AI导读
核心看点
  • 久负盛名的C++经典教程,全面覆盖语言特性
  • 强调现代编程风格,从实战角度引入标准库
  • 作者均为C++权威,内容体现业界最佳实践
适合谁读
  • 希望系统掌握C++语言的初学者与进阶者
  • 有一定编码经验,需复习总结的程序员
  • 从事系统开发、算法研究等领域的开发者
读前提醒
  • 本书篇幅巨大,建议制定计划,避免半途而废
  • 非最佳入门教材,建议结合其他资料辅助学习
  • 注意版本差异,本书未包含C++11等新标准内容
读者共识
  • 内容权威详实,是C++学习者的必备参考书
  • 结构略显复杂,交叉引用多,阅读门槛较高
  • 适合有基础后深入研读,初学者可能感到枯燥

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "If we have not previously told the compiler that the friend is a template, then the compiler will infer that the friend is an ordinary nontemplate class or function. 如果没有事先告诉编译器该友元是一个模板,则编译器将认为该友元是一个普通非模板类或非模板函数。"
  • "A friend declaration introduces the named class or nonmember function into the surrounding scope. Moreover, a friend function may be defined inside the class. The scope of the function is exported to the scope enclosing the class definition. 友元声明将已命名的类或非成员函数引入到外围作用域中。此外,友元函数可以在类的内部定义,该函数的作用域扩展到包围该类定"
  • "to make a member function a friend, the class containing that member must have been defined. 必须先定义包含成员函数的类,才能将成员函数设为友元。 When we want to restrict friendship to a specific instantiation, then the class or function must have been declared before it can be used in a friend declaration 想要限制对特定实例化的友元关系时,必"
  • "可以将严格弱序看作"小于等于" •两个关键字不能同时"小于等于"对方;如果k1"小于等于"k2, 那么 k2 决不能"小于等于" k1 ."
  • "We can think of a strict weak ordering as “less than” • Two keys cannot both be “less than” each other; if k1 is “less than” k2, then k2 must never be “less than” k1."
  • "Unlike using declarations for ordinary members, a constructor using declaration does not change access level of the inherited constructor(s). More over, a using declaration can't specify explicit or constexpr, the inherited constructor has the same property as the corresponding base constructor."
  • "An inherited constructor is not treated as a user-defined constructor. Therefore, a class that contains only inherited constructors will have a synthesized default constructor."
  • "4.3.2. 新旧代码的兼容 许多 C++ 程序在有标准类之前就已经存在了,因此既没有使用标准库类型 string 也没有使用 vector。而且,许多 C++ 程序为了兼容现存的 C 程序,也 不能使用 C++ 标准库。因此,现代的 C++ 程序经常必须兼容使用数组和/或 C 风格字符串的代码,标准库提供了使兼容界面更容易管理的手段。 194 混合使用标准库类 string 和 C 风格字符串 正如第 3.2.1 节中显示的,可用字符串字面值初始化 string 类对象: string st3("Hello World"); // st3 holds Hello World 通常,由于 C "
用户评论
虽然本书的讲述顺序和我的理解习惯不一样,但总的来说是一本很靠谱的书。
个人感觉,不适合作为第一本教材,比较适合有了一定编码量之后复习和总结,同时了解还没有机会用到的那些语言特性。
写评论的绝逼都是大学霸……
浮光掠影,需要复习
大学第一本C+籍,不适合初学者。英文版的印刷不敢恭维,16开的版本严重缩水。
没看完。应该当工具书翻翻就好了
我觉得 c++ 真的有点过了 所以现在 java 的很多特性都很受欢迎 刚刚好解决问题 刚刚好够用 typescript 和 go 的语言特性设计也或多或少参考了 java scalar在 java 基础上 向更易用 开发效率更高迈进 = =
c++入门
从此书中还能习得STL的使用以及一些编码规范,适合有一定cpp经历(1w行?)后再回过头来仔细阅读的书,会有茅塞顿开之感。唯一可惜的是没有c++11的内容。
收藏