本書作者是C++語言的設計者和最初實現者,本書的寫作目的是讓有經驗的程序員快速了解C++現代語言。書中幾乎介紹了C++語言的全部核心功能和重要的標准庫組件,以很短的篇幅將C++語言的主要特性呈現在讀者面前,並給出一些關鍵示例,讓讀者在很短的時間內就能對現代C++的概貌有一個清晰的了解,尤其是關於面向對象編程和泛型編程的知識。
本書沒有涉及太多C++語言的細節,非常適合想熟悉C++語言最新特性的C/C++程序設計人員,以及精通其他高級語言而想了解C++語言特性和優點的人員。
Bjarne Stroustrup(本賈尼•斯特勞斯特盧普博士,1950年出生於丹麥,先后畢業於丹麥阿魯斯大學和英國劍橋大學,AT&T大規模程序設計研 究部門負責人,AT&T、貝爾實驗室和ACM成員,現任德州農工大學計算機系首席教授。1979年,B. S開始開發一種語言,當時稱為「C with Classes」(帶類的C),后來演化為C++。1998年,ANSI/ISO C++標准建立,同年,B. S推出了其經典著作The C++ Programming Language的第三版。C++的標准化標志着B. S博士傾20年心血的偉大構想終於實現。
前言
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