C++之旅英文版
  • 推荐0
  • 收藏0
  • 浏览532

C++之旅英文版

(美)Bjarne Stroustrup(本贾尼·斯特劳斯特卢普) (作者)  (译者)

  • 丛  书:原味精品书系
  • 书  号:978-7-121-27330-8
  • 出版日期:2016-04-05
  • 页  数:192
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: A Tour of C++
  • 原书号:0321958314
  • 维护人:张春雨
本书作者是C++语言的设计者和最初实现者,本书的写作目的是让有经验的程序员快速了解C++现代语言。书中几乎介绍了C++语言的全部核心功能和重要的标准库组件,以很短的篇幅将C++语言的主要特性呈现在读者面前,并给出一些关键示例,让读者在很短的时间内就能对现代C++的概貌有一个清晰的了解,尤其是关于面向对象编程和泛型编程的知识。本书没有涉及太多C++语言的细节,非常适合想熟悉C++语言最新特性的C/C++程序设计人员,以及精通其他高级语言而想了解C++语言特性和优点的人员。
不仅介绍了C++的特性,而且还介绍了C++的编辑风格。
内容非常全面,其覆盖面从基础知识到更高级的主题范围。
讨论了C++的设计和发展,并扩展到C++11。
前言
教而至简,不亦乐乎。
——西塞罗
现在的C++仿佛进化成了一种新的语言。与C++98相比,C++11更易于我们清晰、简洁、直观地表达思想。而且编译器可以将程序中的错误更好地检查出来,程序的运行速度也越来越快。
与其他任何一种现代编程语言相同,C++的规模非常庞大,且提供的库也异常丰富,这些都值得程序员认真学习以便高效地利用。本书的目的是让有经验的程序员快速地了解现代C++语言,因此,本书几乎介绍了C++的全部核心功能和重要的标准库组件。读者只需花费几个小时就能读完本书,但是想必所有人都清楚,要想写出漂亮的C++程序绝非一日之功。本书的目的并非让读者熟练掌握一切,而只是介绍语言的概貌,给出一些经典的例子,然后帮助读者开始自己的C++之旅。如果读者希望深入了解C++语言,请阅读我的另一本著作The C++ Programming Language,Fourth Edition(简称TC++PL4)。实际上,本书正是TC++PL4第2章~第5章的扩充版,只是出于完整性和独立性的考虑,我们稍微增加了一些内容。本书的篇章结构与TC++PL4保持一致,读者如果对细节感兴趣,可以在TC++PL4中进一步寻找答案。同样,在我的个人主页(www.stroustrup.com)上有一些为TC++PL4编写的习题,也可以用于本书。
我们假设读者已经拥有了一些编程经验。如果没有,建议你先找一本入门教材学习一下,比如Programming: Principles and Practice Using C++ [Stroustrup, 2009]。即使你曾经编写过程序,你所使用的语言或者编写的应用在风格或形式上也可能与本书相距甚远。
我们用城市观光的例子来比喻本书的作用,比方说参观哥本哈根或者纽约。在短短几个小时之内,你可能会匆匆游览几个主要的景点,听到一些有趣的传说或故事,然后被告知接下来应该参观哪里。但是仅靠这样一段旅程,你无法真正了解这座城市,对听到和看到的东西也是一知半解,更别提熟悉这座城市的生存法则。毕竟要想认识并融入一座城市,需要在这里生活很多年。不过幸运的是,此时你已经对城市的总体情况有了一些了解,知道了它的某些特殊之处,并且对有些方面产生了兴趣。接下来,你就有机会开始真正的探索之旅了。
本书介绍C++语言的主要功能,尤其是关于面向对象编程和泛型编程的知识。在写作时,我们没有涉及太多细节,更不想把本书写成参考手册。对于标准库也尽量去繁就简,用生动的例子进行讲解。本书没有介绍ISO标准之外的库,读者需要的话可以自行查阅相关资料。如果我们提到了某个标准库函数或类,那么读者很容易就能在头文件中找到它的定义,还可以在互联网上搜集到更多与之有关的信息。
本书力求把C++作为一个整体呈现在读者面前,而非逐层地介绍。因此,在这里我们不细分到某项语言特性是归属于C、C++98还是C++11,这些与语言沿革有关的信息在第14章可以找到。
致谢
本书的大多数内容源自TC++PL4 [Stroustrup, 2012],因此,首先感谢协助我完成TC++PL4的所有同仁。还要感谢Addison-Wesley的编辑Peter Gordon,是他建议作者把TC++PL4的部分章节扩展成本书的。
Bjarne Stroustrup

目录

前言
1 The Basics
1.1 Introduction
1.2 Programs
1.3 Hello, World!
1.4 Functions
1.5 Types, Variables, and Arithmetic
1.6 Scope
1.7 Constants
1.8 Pointers, Arrays, and References
1.9 Tests
1.10 Advice
2 User-Defined Types
2.1 Introduction
2.2 Structures
2.3 Classes
2.4 Unions
2.5 Enumerations
2.6 Advice
3 Modularity
3.1 Introduction
3.2 Separate Compilation
3.3 Namespaces
3.4 Error Handling
3.5 Advice
4 Classes
4.1 Introduction
4.2 Concrete Types
4.3 Abstract Types
4.4 Virtual Functions
4.5 Class Hierarchies
4.6 Copy and Move
4.7 Advice
5 Templates
5.1 Introduction
5.2 Parameterized Types
5.3 Function Templates
5.4 Concepts and Generic Programming
5.5 Function Objects
5.6 Variadic Templates
5.7 Aliases
5.8 Template Compilation Model
5.9 Advice
6 Library Overview
6.1 Introduction
6.2 Standard-Library Components
6.3 Standard-Library Headers and Namespace
6.4 Advice
7 Strings and Regular Expressions
7.1 Introduction
7.2 Strings
7.3 Regular Expressions
7.4 Advice
8 I/O Streams
8.1 Introduction
8.2 Output
8.3 Input
8.4 I/O State
8.5 I/O of User-Defined Types
8.6 Formatting
8.7 File Streams
8.8 String Streams
8.9 Advice
9 Containers
9.1 Introduction
9.2 vector
9.3 list
9.4 map
9.5 unordered_map
9.6 Container Overview
9.7 Advice
10 Algorithms
10.1 Introduction
10.2 Use of Iterators
10.3 Iterator Types
10.4 Stream Iterators
10.5 Predicates
10.6 Algorithm Overview
10.7 Container Algorithms
10.8 Advice
11 Utilities
11.1 Introduction
11.2 Resource Management
11.3 Specialized Containers
11.4 Time
11.5 Function Adaptors
11.6 Type Functions
11.7 Advice
12 Numerics
12.1 Introduction
12.2 Mathematical Functions
12.3 Numerical Algorithms
12.4 Complex Numbers
12.5 Random Numbers
12.6 Vector Arithmetic
12.7 Numeric Limits
12.8 Advice
13 Concurrency
13.1 Introduction
13.2 Tasks and thread s
13.3 Passing Arguments
13.4 Returning Results
13.5 Sharing Data
13.6 Waiting for Events
13.7 Communicating Tasks
13.8 Advice
14 History and Compatibility
14.1 History
14.2 C++11 Extensions
14.3 C/C++ Compatibility
14.4 Bibliography
14.5 Advice
Index

读者评论

同系列书

  • Clean Architecture:软件架构与设计匠艺(英文版)

    Robert C. Martin (作者) Robert C. Martin(罗伯特·C·马丁) (译者)

    马丁的简介代码不仅仅是提供选项。在半个世纪的软件环境中,每一种可以想象的类型,马丁告诉你做出什么选择,以及为什么它们对你的成功至关重要。正如你所渴望的,这本书中...

     
  • Effective Java(第2版)英文版

    (美)Joshua Bloch(约书亚·布洛赫) (作者) 无 (译者)

    本书通过78个有效案例,旨在帮助读者深入理解Java,以写出更加清楚、健壮、可重复使用的代码。书中每个章节均包含小论文,针对Java平台和杰出的代码样例,提供了...

    ¥65.00
  • C11编程导论英文版

    (美)Paul Deitel(保罗·戴特尔),(美) Harvey Deitel(哈维·戴特尔) (作者) (译者)

    本书沿用了Deitel特色的“程序实况解说”,深入探讨了C语言和C标准库。通过完整的语法着色、代码高亮、代码演练和程序输出,全面地介绍了测试程序的概念。本书汇集...

    ¥89.00
  • Effective Javascript:编写高质量JavaScript代码的68个有效方法 英文版

    (美)David Herman(大卫·赫尔曼) (作者) 无 (译者)

    本书由资深 JavaScript 技术专家 David Herman 所著。书中基于 JavaScript 标准的新版本前所未有地阐明了 JavaScript ...

    ¥65.00
  • Effective Python:编写高质量Python代码的59个有效方法 英文版

    (美)Brett Slatkin(布雷特·斯拉特金) (作者) 无 (译者)

    本书不是要讲述 Python 的基础编程,而是要帮你掌握 Python 独特的优势和魅力。书中总结了 59个 Python 编程的优秀实践、贴士和捷径,并用真实...

    ¥65.00

相关图书

Python一行流:像专家一样写代码

Christian Mayer (作者) 苏丹 (译者)

本书专注于从初学迈向进阶的Python编码技术:如何像专家一样写出优雅、准确、简洁高效的Python 单行代码;阅读任意一行Python 代码时,如何系统性地对...

¥89.00

剑指Offer(专项强化版):数据结构与算法名企面试题精讲

何海涛 (作者)

本书全面、系统地总结了在准备程序员面试过程中必备的数据结构与算法。本书首先详细讨论整数、数组、链表、字符串、哈希表、栈、队列、二叉树、堆和前缀树等常用的数据结构...

¥89.00

C++服务器开发精髓

张远龙 (作者)

本书从操作系统原理角度讲解进行C++服务器开发所需掌握的技术栈。全书总计9章,第1~2章讲解C++ 11/14/17新标准中的常用特性、新增类库,以及C++开发...

 

PHP编程(第4版)

Rasmus Lerdorf(拉斯马斯·勒多夫), Kevin Tatroe(凯文·塔特罗), Peter MacIntyre(彼得·麦金太尔) (作者) 卢涛 (译者)

PHP是一种被广泛使用的Web编程语言,它简单易用,而且与时俱进,不断进化,提升性能。本书基于PHP 7.4,深入介绍 PHP编程技术,涵盖了 PHP 所有基本...

¥109.00

深入理解Spring Cloud与实战

方剑 (作者)

本书共分10章,主要介绍Spring Cloud各个核心组件的设计原理,以及目前流行的Spring Cloud Alibaba和 Netflix组件,并且剖析S...

¥106.00

基于Kotlin的Spring Boot微服务实战

袁康 (作者)

本书介绍了Kotlin在Spring Boot微服务开发中的实践,并使用Kotlin作为开发语言,介绍了函数式编程思想、Kotlin的语法、Kotlin在常用中...

¥69.30