C++ Primer

[美]Stanley BLippman [加]Josée Lajoie 著

出版时间

2005-09-01

ISBN

9787115140562

评分

★★★★★

标签

计算机

书籍介绍

本书全面讲解了C++程序设计语言的特性和用法全书分五个部分对C++进行阐述第一部分是C++概述,第二部分在此基础上介绍C++语言,主要涉及数据类型、表达式、语句及抽象容器类型,第三部分是基于过程的程序设计,主要介绍函数、域和生命期、重载函数、函数模板、异常处理及泛型算法,第四部分是基于对象的程序设计,主要介绍类、重载操作符及类模板,第五部分是面向对象的程序设计,主要讲解类继承和子类型、多继承和虚拟继承及iostream库等

本书结合了C++大师Stanley B Lippman的实践经验和C++标准委员会原负责人Josée Lajoie对于ANSI/IS

AI导读
核心看点
  • 基于C++11标准全面更新,示例代码均使用新标准
  • 涵盖从基础语法到高级特性的完整知识体系
  • 包含丰富的教学辅助内容与精心组织的编程示范
适合谁读
  • C++初学者,作为入门首选教材系统学习
  • 中高级程序员,用于提升技能与更新标准知识
  • 需要兼容旧代码或深入理解底层机制的开发者
读前提醒
  • 建议结合英文原版对照阅读,以规避翻译误差
  • 避免陷入语法细节,应注重将语言应用于开发
  • 此书内容详实厚重,适合作为案头参考手册查阅
读者共识
  • 公认的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 "
作者简介
Stanley B. Lippman目前是微软公司 Visual C++ 团队的架构师。他从1984年开始在贝尔实验室与C++的设计者Bjarne Stroustrup一起从事C++的设计与开发。他在迪士尼和梦工厂从事动画制作,还担任过JPL的高级顾问。 Josée Lajoie曾经是IBM加拿大研究中心C/C++编译器开发团队的成员,在ISO C++标准委员会工作了7年,担任过ISO核心语言工作组的主席和C++ Report杂志的专栏作家。 Barbara E. Moo是拥有25年软件经验的独立咨询顾问。在AT&T,她与Stroustrup、Lippman一起管理过复杂的C++开发项目。
用户评论
我觉得 c++ 真的有点过了 所以现在 java 的很多特性都很受欢迎 刚刚好解决问题 刚刚好够用 typescript 和 go 的语言特性设计也或多或少参考了 java scalar在 java 基础上 向更易用 开发效率更高迈进 = =
- - 中文版找不到了囧rz看E文的吧。
借了更多次,大一大二大三大四,每年都借出來,每年都看不了幾章。真是没有碼農的命,我也不想勉强自己了。
我读的第一本英文原版书
C++入门经典
常读常新。
入门
收藏