Cantitate/Preț
Produs

A Tour of C++: C++ In-Depth

Autor Bjarne Stroustrup
en Limba Engleză Paperback – 29 sep 2022
In A Tour of C++, Third Edition, Bjarne Stroustrup provides an overview of ISO C++, C++20, that aims to give experienced programmers a clear understanding of what constitutes modern C++. Featuring carefully crafted examples and practical help in getting started, this revised and updated edition concisely covers most major language features and the major standard-library components needed for effective use. Stroustrup presents 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, emphasizing newer language features. This edition covers many features that are new in C++20 as implemented by major C++ suppliers, including modules, concepts, coroutines, and ranges. It even introduces some library components in current use that are not scheduled for inclusion in the standard until C++23. This authoritative 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 won't find a shorter or simpler introduction.
Citește tot Restrânge

Din seria C++ In-Depth

Preț: 18835 lei

Preț vechi: 23544 lei
-20% Nou

Puncte Express: 283

Preț estimativ în valută:
3605 3803$ 3004£

Carte disponibilă

Livrare economică 12-26 decembrie
Livrare express 27 noiembrie-03 decembrie pentru 3269 lei

Preluare comenzi: 021 569.72.76

Specificații

ISBN-13: 9780136816485
ISBN-10: 0136816487
Pagini: 320
Dimensiuni: 234 x 186 x 17 mm
Greutate: 0.65 kg
Ediția:3. Auflage
Editura: Pearson
Colecția C++ In-Depth
Seria C++ In-Depth


Cuprins

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

Notă biografică

Bjarne Stroustrup is the designer and original implementer of C++ and the author of Programming: Principles and Practice Using C++, Second Edition, and The C++ Programming Language, Fourth Edition, among others. Currently a professor at Columbia University, he has previously worked at AT&T Bell Labs, Texas A&M University, and Morgan Stanley. He is the recipient of numerous honors, including The National Academy of Engineering's Charles Stark Draper Prize for Engineering "for conceptualizing and developing the C++ programming language." Dr. Stroustrup is a member of the National Academy of Engineering, a fellow of IEEE, ACM, CHM, and Churchill College Cambridge.