C++ Core Guidelines Explained: Best Practices for Modern C++
Autor Rainer Grimmen Limba Engleză Paperback – 21 apr 2022
Preț: 221.78 lei
Preț vechi: 277.23 lei
-20% Nou
Puncte Express: 333
Preț estimativ în valută:
42.44€ • 44.09$ • 35.26£
42.44€ • 44.09$ • 35.26£
Carte disponibilă
Livrare economică 08-14 ianuarie 25
Livrare express 28 decembrie 24 - 03 ianuarie 25 pentru 27.05 lei
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9780136875673
ISBN-10: 013687567X
Pagini: 528
Dimensiuni: 181 x 232 x 20 mm
Greutate: 0.67 kg
Editura: Pearson
ISBN-10: 013687567X
Pagini: 528
Dimensiuni: 181 x 232 x 20 mm
Greutate: 0.67 kg
Editura: Pearson
Notă biografică
Rainer Grimm has worked as a software architect, team lead, and instructor since 1999, and offered seminars on C++, Python, and proprietary software since 2002. He writes regularly on C++, Python, and Haskell, speaks at conferences on programming issues, and blogs weekly in English (modernescpp.com) and German (www.grimm-jaud.de/index.php/blog). Now an independent instructor, he offers seminars on modern C++ and Python. He has authored several books on modern C++, concurrency, and related topics.
Cuprins
List of selected C++ Core Guidelines xiii List of figures xxiii List of tables xxvii Foreword xxix Preface xxxi Acknowledgments xxxvii About the author xxxix Part I: The Guidelines 1 Chapter 1: Introduction 3 Target readership 3 Aim 4 Non-aims 4 Enforcement 4 Structure 4 Major sections 5 Chapter 2: Philosophy 7 Chapter 3: Interfaces 15 The curse of non-const global variables 16 Dependency injection as a cure 18 Making good interfaces 20 Related rules 25 Chapter 4: Functions 27 Function definitions 28 Parameter passing: in and out 32 Parameter passing: ownership semantics 38 Value return semantics 42 Other functions 46 Related rules 52 Chapter 5: Classes and Class Hierarchies 53 Summary rules 54 Concrete types 58 Constructors, assignments, and destructors 59 Class hierarchies 98 Overloading and overloaded operators 117 Unions 126 Related rules 129 Chapter 6: Enumerations 131 General rules 131 Related rules 137 Chapter 7: Resource Management 139 General rules 140 Allocation and deallocation 145 Smart pointers 150 Related rules 164 Chapter 8: Expressions and Statements 165 General 166 Declarations 168 Expressions 186 Statements 199 Arithmetic 204 Related rules 210 Chapter 9: Performance 213 Wrong optimizations 214 Wrong assumptions 214 Enable optimization 218 Related rules 230 Chapter 10: Concurrency 231 General guidelines 232 Concurrency 245 Parallelism 266 Message passing 269 Lock-free programming 273 Related rules 277 Chapter 11: Error Handling 279 Design 281 Implementation 283 If you can't throw 288 Related rules 292 Chapter 12: Constants and Immutability 293 Use const 294 Use constexpr 298 Chapter 13: Templates and Generic Programming 301 Use 302 Interfaces 305 Definition 320 Hierarchies 330 Variadic templates 332 Metaprogramming 336 Other rules 362 Related rules 372 Chapter 14: C-Style Programming 375 Entire source code available 376 Entire source code not available 378 Chapter 15: Source Files 383 Interface and implementation files 384 Namespaces 391 Chapter 16: The Standard Library 397 Containers 398 Text 404 Input and output 411 Related rules 419 Part II: Supporting Sections 421 Chapter 17: Architectural Ideas 423 Chapter 18: Nonrules and Myths 427 Chapter 19: Profiles 437 Pro.typeType safety 438 Pro.boundsBounds safety 439 Pro.lifetimeLifetime safety 439 Chapter 20: Guidelines Support Library 441 Views 441 Ownership pointers 442 Assertions 443 Utilities 443
Part III: Appendixes 445 Appendix A: Enforcing the C++ Core Guidelines 447 Visual Studio 448 clang-tidy 450 Appendix B: Concepts 453 Appendix C: Contracts 457 Index 459