وبلاگ بلیان

A Tour Of C++ The C++ In-depth Series Tour Of C Plus Plus

معرفی کتاب «A Tour Of C++ The C++ In-depth Series Tour Of C Plus Plus» نوشتهٔ Gerda Lerner و Safari, an O'Reilly Media Company.; Stroustrup, Bjarne، منتشرشده توسط نشر Addison-Wesley Professional در سال 2018. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

In A Tour of C++, Second Edition, Bjarne Stroustrup, the creator of C++, describes what constitutes modern C++. This concise, self-contained guide covers most major language features and the major standard-library components—not, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started. Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++17, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency. The tour even covers some extensions being made for C++20, such as concepts and modules, and ends with a discussion of the design and evolution of C++. This guide does not aim to teach you how to program (for that, see Stroustrup’s Programming: Principles and Practice Using C++, Second Edition), nor will it be the only resource you’ll need for C++ mastery (for that, see Stroustrup’s The C++ Programming Language, Fourth Edition, and recommended online sources). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can’t find a shorter or simpler introduction than this tour provides. Cover 1 Title Page 4 Copyright Page 5 Contents 6 Preface 12 1 The Basics 14 1.1 Introduction 14 1.2 Programs 15 1.3 Functions 17 1.4 Types, Variables, and Arithmetic 18 1.5 Scope and Lifetime 22 1.6 Constants 22 1.7 Pointers, Arrays, and References 24 1.8 Tests 27 1.9 Mapping to Hardware 29 1.10 Advice 31 2 User-Defined Types 34 2.1 Introduction 34 2.2 Structures 35 2.3 Classes 36 2.4 Unions 38 2.5 Enumerations 39 2.6 Advice 40 3 Modularity 42 3.1 Introduction 42 3.2 Separate Compilation 43 3.3 Modules (C++20) 45 3.4 Namespaces 47 3.5 Error Handling 48 3.6 Function Arguments and Return Values 54 3.7 Advice 59 4 Classes 60 4.1 Introduction 60 4.2 Concrete Types 61 4.3 Abstract Types 67 4.4 Virtual Functions 69 4.5 Class Hierarchies 70 4.6 Advice 76 5 Essential Operations 78 5.1 Introduction 78 5.2 Copy and Move 81 5.3 Resource Management 85 5.4 Conventional Operations 87 5.5 Advice 90 6 Templates 92 6.1 Introduction 92 6.2 Parameterized Types 92 6.3 Parameterized Operations 97 6.4 Template Mechanisms 102 6.5 Advice 105 7 Concepts and Generic Programming 106 7.1 Introduction 106 7.2 Concepts 107 7.3 Generic Programming 111 7.4 Variadic Templates 113 7.5 Template Compilation Model 117 7.6 Advice 117 8 Library Overview 120 8.1 Introduction 120 8.2 Standard-Library Components 121 8.3 Standard-Library Headers and Namespace 122 8.4 Advice 123 9 Strings and Regular Expressions 124 9.1 Introduction 124 9.2 Strings 124 9.3 String Views 127 9.4 Regular Expressions 129 9.5 Advice 135 10 Input and Output 136 10.1 Introduction 136 10.2 Output 137 10.3 Input 138 10.4 I/O State 140 10.5 I/O of User-Defined Types 141 10.6 Formatting 142 10.7 File Streams 143 10.8 String Streams 143 10.9 C-style I/O 144 10.10 File System 145 10.11 Advice 149 11 Containers 150 11.1 Introduction 150 11.2 vector 151 11.3 list 155 11.4 map 157 11.5 unordered_map 157 11.6 Container Overview 159 11.7 Advice 161 12 Algorithms 162 12.1 Introduction 162 12.2 Use of Iterators 163 12.3 Iterator Types 166 12.4 Stream Iterators 167 12.5 Predicates 168 12.6 Algorithm Overview 169 12.7 Concepts (C++20) 170 12.8 Container Algorithms 173 12.9 Parallel Algorithms 174 12.10 Advice 174 13 Utilities 176 13.1 Introduction 176 13.2 Resource Management 177 13.3 Range Checking: span 181 13.4 Specialized Containers 183 13.5 Alternatives 187 13.6 Allocators 191 13.7 Time 192 13.8 Function Adaption 193 13.9 Type Functions 194 13.10 Advice 198 14 Numerics 200 14.1 Introduction 200 14.2 Mathematical Functions 201 14.3 Numerical Algorithms 202 14.4 Complex Numbers 203 14.5 Random Numbers 204 14.6 Vector Arithmetic 205 14.7 Numeric Limits 206 14.8 Advice 206 15 Concurrency 208 15.1 Introduction 208 15.2 Tasks and threads 209 15.3 Passing Arguments 210 15.4 Returning Results 211 15.5 Sharing Data 212 15.6 Waiting for Events 213 15.7 Communicating Tasks 215 15.8 Advice 218 16 History and Compatibility 220 16.1 History 220 16.2 C++ Feature Evolution 227 16.3 C/C++ Compatibility 231 16.4 Bibliography 235 16.5 Advice 238 Index 240 A 241 B 242 C 242 D 244 E 245 F 245 G 246 H 246 I 246 J 247 K 247 L 247 M 247 N 248 O 248 P 249 R 249 S 251 T 252 U 252 V 253 W 253 X 253 Z 253 "In A Tour of C++, Second Edition, Bjarne Stroustrup, the creator of C++, describes what constitutes modern C++. This concise, self-contained guide covers most major language features and the major standard-library components--not, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started.Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++17, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency. The tour even covers some extensions being made for C++20, such as concepts and modules, and ends with a discussion of the design and evolution of C++.This guide does not aim to teach you how to program (for that, see Stroustrup's Programming: Principles and Practice Using C++, Second Edition), nor will it be the only resource you'll need for C++ mastery (for that, see Stroustrup's The C++ Programming Language, Fourth Edition, and recommended online sources). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can't find a shorter or simpler introduction than this tour provides"--Publisher's website Chapter 1 The Basics Chapter 2 User-Defined Types Chapter 3 Modularity Chapter 4 Classes Chapter 5 Essential Operations Chapter 6 Templates Chapter 7 Concepts And Generic Programming Chapter 8 Library Overview Chapter 9 Strings And Regular Expressions Chapter 10 Input And Output Chapter 11 Containers Chapter 12 Algorithms Chapter 13 Utilities Chapter 14 Numerics Chapter 15 Concurrency Chapter 16 History And Compatibility Bjarne Stroustrup. Includes Bibliographical References And Index.
دانلود کتاب A Tour Of C++ The C++ In-depth Series Tour Of C Plus Plus