Cart

Tour of C++, A, 3rd edition

BRAND: PEARSON

Publisher:Addison-Wesley Professional
Author: Bjarne Stroustrup
Edition: (September 14, 2022) © 2023
eBook ISBN:9780136823544
Print ISBN: 9780136816485
Type: 1 Year Subscription. Dành cho Cá nhân 

eBook edition. 1 Year Subscription. Dành cho Cá nhân  |  Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In  

Số lượng:
Tổng tiền:
Giá có thể thay đổi bất kỳ khi nào.
Thời hạn giao hàng: 03 ngày làm việc với sách eBook và 30 ngày với sách In. Gọi để được Tư vấn Giáo Trình.

Mô tả sản phẩm


Trong Chuyến tham quan C++, Ấn bản thứ ba, Bjarne Stroustrup cung cấp cái nhìn tổng quan về ISO C++, C++20, nhằm mục đích cung cấp cho các lập trình viên giàu kinh nghiệm sự hiểu biết rõ ràng về những gì tạo nên C++ hiện đại. Với các ví dụ được soạn thảo cẩn thận và trợ giúp thực tế khi bắt đầu, phiên bản sửa đổi và cập nhật này trình bày ngắn gọn hầu hết các tính năng ngôn ngữ chính và các thành phần thư viện tiêu chuẩn chính cần thiết để sử dụng hiệu quả.

Stroustrup trình bày các tính năng của C++ trong bối cảnh các phong cách lập trình mà chúng hỗ trợ, chẳng hạn như lập trình hướng đối tượng và lập trình chung. Chuyến tham quan của anh ấy rất toàn diện. Nội dung bắt đầu từ những điều cơ bản, sau đó mở rộng sang các chủ đề nâng cao hơn, nhấn mạnh các tính năng ngôn ngữ mới hơn. Phiên bản này bao gồm nhiều tính năng mới trong C++20 do các nhà cung cấp C++ lớn triển khai, bao gồm các mô-đun, khái niệm, coroutine và phạm vi. Nó thậm chí còn giới thiệu một số thành phần thư viện đang được sử dụng hiện tại mà chưa được lên kế hoạch đưa vào tiêu chuẩn cho đến C++ 23.
 

Hướng dẫn có thẩm quyền này không nhằm mục đích dạy bạn cách lập trình (để biết điều đó, hãy xem Lập trình: Nguyên tắc và Thực hành Sử dụng C++, Ấn bản thứ hai của Stroustrup), cũng không phải là tài nguyên duy nhất bạn cần để thành thạo C++ (để biết điều đó, hãy xem tài liệu của Stroustrup Ngôn ngữ lập trình C++, Phiên bản thứ tư và các nguồn trực tuyến được đề xuất). Tuy nhiên, nếu bạn là một lập trình viên C hoặc C++ muốn làm quen nhiều hơn với ngôn ngữ C++ hiện tại hoặc một lập trình viên thông thạo ngôn ngữ khác mong muốn có được bức tranh chính xác về bản chất và lợi ích của C++ hiện đại, bạn sẽ không tìm thấy một cách viết ngắn hơn hoặc ngắn gọn hơn. giới thiệu đơn giản hơn



Preface xi

Chapter 1: The Basics 1

1.1 Introduction 1
1.2 Programs 2
1.3 Functions 4
1.4 Types, Variables, and Arithmetic 5
1.5 Scope and Lifetime 9
1.6 Constants 10
1.7 Pointers, Arrays, and References 11
1.8 Tests 14
1.9 Mapping to Hardware 16
1.10 Advice 19

Chapter 2: User-Defined Types 21

2.1 Introduction 21
2.2 Structures 22
2.3 Classes 23
2.4 Enumerations 25
2.5 Unions 27
2.6 Advice 28

Chapter 3: Modularity 29

3.1 Introduction 29
3.2 Separate Compilation 30
3.3 Namespaces 35
3.4 Function Arguments and Return Values 37
3.5 Advice 42

Chapter 4: Error Handling 43

4.1 Introduction 43
4.2 Exceptions 44
4.3 Invariants 45
4.4 Error-Handling Alternatives 47
4.5 Assertions 48
4.6 Advice 51

Chapter 5: Classes 53

5.1 Introduction 53
5.2 Concrete Types 54
5.3 Abstract Types 60
5.4 Virtual Functions 62
5.5 Class Hierarchies 63
5.6 Advice 69

Chapter 6: Essential Operations 71

6.1 Introduction 71
6.2 Copy and Move 74
6.3 Resource Management 78
6.4 Operator Overloading 80
6.5 Conventional Operations 81
6.6 User-Defined Literals 84
6.7 Advice 85

Chapter 7: Templates 87

7.1 Introduction 87
7.2 Parameterized Types 88
7.3 Parameterized Operations 93
7.4 Template Mechanisms 99
7.5 Advice 102

Chapter 8: Concepts and Generic Programming 103

8.1 Introduction 103
8.2 Concepts 104
8.3 Generic Programming 112
8.4 Variadic Templates 114
8.5 Template Compilation Model 117
8.6 Advice 117

Chapter 9: Library Overview 119

9.1 Introduction 119
9.2 Standard-Library Components 120
9.3 Standard-Library Organization 121
9.4 Advice 124

Chapter 10: Strings and Regular Expressions 125

10.1 Introduction 125
10.2 Strings 125
10.3 String Views 128
10.4 Regular Expressions 130
10.5 Advice 136

Chapter 11: Input and Output 137

11.1 Introduction 137
11.2 Output 138
11.3 Input 139
11.4 I/O State 141
11.5 I/O of User-Defined Types 141
11.6 Output Formatting 143
11.7 Streams 146
11.8 C-style I/O 149
11.9 File System 150
11.10 Advice 154

Chapter 12: Containers 157

12.1 Introduction 157
12.2 vector 158
12.3 list 162
12.4 forward_list 164
12.5 map 164
12.6 unordered_map 165
12.7 Allocators 167
12.8 Container Overview 168
12.9 Advice 170

Chapter 13: Algorithms 173

13.1 Introduction 173
13.2 Use of Iterators 175
13.3 Iterator Types 178
13.4 Use of Predicates 181
13.5 Algorithm Overview 181
13.6 Parallel Algorithms 183
13.7 Advice 183

Chapter 14: Ranges 185

14.1 Introduction 185
14.2 Views 186
14.3 Generators 188
14.4 Pipelines 188
14.5 Concepts Overview 190
14.6 Advice 194

Chapter 15: Pointers and Containers 195

15.1 Introduction 195
15.2 Pointers 196
15.3 Containers 201
15.4 Alternatives 208
15.5 Advice 212

Chapter 16: Utilities 213

16.1 Introduction 213
16.2 Time 214
16.3 Function Adaption 216
16.4 Type Functions 217
16.5 source_location 222
16.6 move() and forward() 223
16.7 Bit Manipulation 224
16.8 Exiting a Program 225
16.9 Advice 225

Chapter 17: Numerics 227

17.1 Introduction 227
17.2 Mathematical Functions 228
17.3 Numerical Algorithms 229
17.4 Complex Numbers 230
17.5 Random Numbers 231
17.6 Vector Arithmetic 233
17.7 Numeric Limits 234
17.8 Type Aliases 234
17.9 Mathematical Constants 234
17.10 Advice 235

Chapter 18: Concurrency 237

18.1 Introduction 237
18.2 Tasks and threads 238
18.3 Sharing Data 241
18.4 Waiting for Events 243
18.5 Communicating Tasks 245
18.6 Coroutines 250
18.8 Advice 253

Chapter 19: History and Compatibility 255

19.1 History 255
19.2 C++ Feature Evolution 263
19.3 C/C++ Compatibility 268
19.4 Bibliography 271
19.5 Advice 274

Appendix: Module std 277

A.1 Introduction 277
A.2 Use What Your Implementation Offers 278
A.3 Use Headers 278
A.4 Make Your Own module std 278
A.5 Advice 279

Index 281

TỔNG QUAN SÁCH

Trong Chuyến tham quan C++, Ấn bản thứ ba, Bjarne Stroustrup cung cấp cái nhìn tổng quan về ISO C++, C++20, nhằm mục đích cung cấp cho các lập trình viên giàu kinh nghiệm sự hiểu biết rõ ràng về những gì tạo nên C++ hiện đại. Với các ví dụ được soạn thảo cẩn thận và trợ giúp thực tế khi bắt đầu, phiên bản sửa đổi và cập nhật này trình bày ngắn gọn hầu hết các tính năng ngôn ngữ chính và các thành phần thư viện tiêu chuẩn chính cần thiết để sử dụng hiệu quả.

Stroustrup trình bày các tính năng của C++ trong bối cảnh các phong cách lập trình mà chúng hỗ trợ, chẳng hạn như lập trình hướng đối tượng và lập trình chung. Chuyến tham quan của anh ấy rất toàn diện. Nội dung bắt đầu từ những điều cơ bản, sau đó mở rộng sang các chủ đề nâng cao hơn, nhấn mạnh các tính năng ngôn ngữ mới hơn. Phiên bản này bao gồm nhiều tính năng mới trong C++20 do các nhà cung cấp C++ lớn triển khai, bao gồm các mô-đun, khái niệm, coroutine và phạm vi. Nó thậm chí còn giới thiệu một số thành phần thư viện đang được sử dụng hiện tại mà chưa được lên kế hoạch đưa vào tiêu chuẩn cho đến C++ 23.
 

Hướng dẫn có thẩm quyền này không nhằm mục đích dạy bạn cách lập trình (để biết điều đó, hãy xem Lập trình: Nguyên tắc và Thực hành Sử dụng C++, Ấn bản thứ hai của Stroustrup), cũng không phải là tài nguyên duy nhất bạn cần để thành thạo C++ (để biết điều đó, hãy xem tài liệu của Stroustrup Ngôn ngữ lập trình C++, Phiên bản thứ tư và các nguồn trực tuyến được đề xuất). Tuy nhiên, nếu bạn là một lập trình viên C hoặc C++ muốn làm quen nhiều hơn với ngôn ngữ C++ hiện tại hoặc một lập trình viên thông thạo ngôn ngữ khác mong muốn có được bức tranh chính xác về bản chất và lợi ích của C++ hiện đại, bạn sẽ không tìm thấy một cách viết ngắn hơn hoặc ngắn gọn hơn. giới thiệu đơn giản hơn


MỤC LỤC

Preface xi

Chapter 1: The Basics 1

1.1 Introduction 1
1.2 Programs 2
1.3 Functions 4
1.4 Types, Variables, and Arithmetic 5
1.5 Scope and Lifetime 9
1.6 Constants 10
1.7 Pointers, Arrays, and References 11
1.8 Tests 14
1.9 Mapping to Hardware 16
1.10 Advice 19

Chapter 2: User-Defined Types 21

2.1 Introduction 21
2.2 Structures 22
2.3 Classes 23
2.4 Enumerations 25
2.5 Unions 27
2.6 Advice 28

Chapter 3: Modularity 29

3.1 Introduction 29
3.2 Separate Compilation 30
3.3 Namespaces 35
3.4 Function Arguments and Return Values 37
3.5 Advice 42

Chapter 4: Error Handling 43

4.1 Introduction 43
4.2 Exceptions 44
4.3 Invariants 45
4.4 Error-Handling Alternatives 47
4.5 Assertions 48
4.6 Advice 51

Chapter 5: Classes 53

5.1 Introduction 53
5.2 Concrete Types 54
5.3 Abstract Types 60
5.4 Virtual Functions 62
5.5 Class Hierarchies 63
5.6 Advice 69

Chapter 6: Essential Operations 71

6.1 Introduction 71
6.2 Copy and Move 74
6.3 Resource Management 78
6.4 Operator Overloading 80
6.5 Conventional Operations 81
6.6 User-Defined Literals 84
6.7 Advice 85

Chapter 7: Templates 87

7.1 Introduction 87
7.2 Parameterized Types 88
7.3 Parameterized Operations 93
7.4 Template Mechanisms 99
7.5 Advice 102

Chapter 8: Concepts and Generic Programming 103

8.1 Introduction 103
8.2 Concepts 104
8.3 Generic Programming 112
8.4 Variadic Templates 114
8.5 Template Compilation Model 117
8.6 Advice 117

Chapter 9: Library Overview 119

9.1 Introduction 119
9.2 Standard-Library Components 120
9.3 Standard-Library Organization 121
9.4 Advice 124

Chapter 10: Strings and Regular Expressions 125

10.1 Introduction 125
10.2 Strings 125
10.3 String Views 128
10.4 Regular Expressions 130
10.5 Advice 136

Chapter 11: Input and Output 137

11.1 Introduction 137
11.2 Output 138
11.3 Input 139
11.4 I/O State 141
11.5 I/O of User-Defined Types 141
11.6 Output Formatting 143
11.7 Streams 146
11.8 C-style I/O 149
11.9 File System 150
11.10 Advice 154

Chapter 12: Containers 157

12.1 Introduction 157
12.2 vector 158
12.3 list 162
12.4 forward_list 164
12.5 map 164
12.6 unordered_map 165
12.7 Allocators 167
12.8 Container Overview 168
12.9 Advice 170

Chapter 13: Algorithms 173

13.1 Introduction 173
13.2 Use of Iterators 175
13.3 Iterator Types 178
13.4 Use of Predicates 181
13.5 Algorithm Overview 181
13.6 Parallel Algorithms 183
13.7 Advice 183

Chapter 14: Ranges 185

14.1 Introduction 185
14.2 Views 186
14.3 Generators 188
14.4 Pipelines 188
14.5 Concepts Overview 190
14.6 Advice 194

Chapter 15: Pointers and Containers 195

15.1 Introduction 195
15.2 Pointers 196
15.3 Containers 201
15.4 Alternatives 208
15.5 Advice 212

Chapter 16: Utilities 213

16.1 Introduction 213
16.2 Time 214
16.3 Function Adaption 216
16.4 Type Functions 217
16.5 source_location 222
16.6 move() and forward() 223
16.7 Bit Manipulation 224
16.8 Exiting a Program 225
16.9 Advice 225

Chapter 17: Numerics 227

17.1 Introduction 227
17.2 Mathematical Functions 228
17.3 Numerical Algorithms 229
17.4 Complex Numbers 230
17.5 Random Numbers 231
17.6 Vector Arithmetic 233
17.7 Numeric Limits 234
17.8 Type Aliases 234
17.9 Mathematical Constants 234
17.10 Advice 235

Chapter 18: Concurrency 237

18.1 Introduction 237
18.2 Tasks and threads 238
18.3 Sharing Data 241
18.4 Waiting for Events 243
18.5 Communicating Tasks 245
18.6 Coroutines 250
18.8 Advice 253

Chapter 19: History and Compatibility 255

19.1 History 255
19.2 C++ Feature Evolution 263
19.3 C/C++ Compatibility 268
19.4 Bibliography 271
19.5 Advice 274

Appendix: Module std 277

A.1 Introduction 277
A.2 Use What Your Implementation Offers 278
A.3 Use Headers 278
A.4 Make Your Own module std 278
A.5 Advice 279

Index 281

-%
0₫ 0₫
0915920514
0915920514