科技>计算机>编程语言
C++之旅英文版

C++之旅英文版"

作者:
ISBN:9787121273308
定价:¥55.0
字数:235千字
页数:192
出版时间:2016-03
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书作者是C++语言的设计者和最初实现者,本书的写作目的是让有经验的程序员快速了解C++现代语言。书中几乎介绍了C++语言的全部核心功能和重要的标准库组件,以很短的篇幅将C++语言的主要特性呈现在读者面前,并给出一些关键示例,让读者在很短的时间内就能对现代C++的概貌有一个清晰的了解,尤其是关于面向对象编程和泛型编程的知识。本书没有涉及太多C++语言的细节,非常适合想熟悉C++语言最新特性的C/C++程序设计人员,以及精通其他高级语言而想了解C++语言特性和优点的人员。

前言

前言 教而至简,不亦乐乎。 ——西塞罗 现在的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

作者简介

Bjarne Stroustrup是C++的原始设计者和最初的实施者, 是《C++程序设计语言(第4版)》(Addison-Wesley,2013)、《C++程序设计原理与实践》(Addison-Wesley,2009),以及许多流行和学术出版物的作者。Stroustrup博士是德洲农工大学特聘教授和计算机科学与工程学院的持有者。他是美国国家工程院成员、IEEE院士,以及ACM院士。他的研究兴趣包括分布式系统、设计、编程技术、软件开发工具和编程语言。他还积极参与了C++ ISO标准化。

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个