Discovering Modern C++

Discovering Modern C++
Besorgungstitel - wird vorgemerkt | Lieferzeit: Besorgungstitel - Lieferbar innerhalb von 10 Werktagen I

47,50 €*

Alle Preise inkl. MwSt. | Versandkostenfrei
Artikel-Nr:
9780136677642
Veröffentl:
2022
Erscheinungsdatum:
09.02.2022
Seiten:
576
Autor:
Peter Gottschling
Gewicht:
1048 g
Format:
231x188x38 mm
Sprache:
Deutsch
Beschreibung:

Peter Gottschling is founder of SimuNova, a company that develops the Matrix Template Library (MTL4) and offers C++ training. He is a member of the ISO C++ standards committee, vice-chair of Germany's programming language standards committee, and founder of the C++ User Group in Dresden. He earned his Ph.D. in computer science at Technische Universität Dresden in 2002.
Peter Gottschling's Discovering Modern C++, Second Edition is an intensive introduction that guides you smoothly to sophisticated approaches based on advanced features. Thoroughly updated for C++17 and C++20, this Second Edition introduces key concepts using examples from many technical problem domains, drawing on his extensive experience training professionals and teaching C++ to students of physics, math, and engineering.
Preface xixAcknowledgments xxvAbout the Author xxviiChapter 1: C++ Basics 11.1 Our First Program 11.2 Variables 41.3 Operators 121.4 Expressions and Statements 221.5 Functions 301.6 Error Handling 351.7 I/O 411.8 Arrays, Pointers, and References 521.9 Structuring Software Projects 641.10 Exercises 69Chapter 2: Classes 712.1 Program for Universal Meaning, Not Technical Details 712.2 Members 732.3 Setting Values: Constructors and Assignments 782.4 Destructors 1052.5 Method Generation Summary 1112.6 Accessing Member Variables 1122.7 Operator Overloading Design 1172.8 Exercises 126Chapter 3: Generic Programming 1293.1 Function Templates 1293.2 Namespaces and Function Lookup 1383.3 Class Templates 1473.4 Type Deduction and Definition 1543.5 Template Specialization 1623.6 Non-Type Parameters for Templates 1743.7 Functors 1773.8 Lambda 1853.9 Variable Templates 1903.10 Programming with Concept(s) 1923.11 Variadic Templates 2003.12 Exercises 208Chapter 4: Libraries 2114.1 Standard Template Library 2114.2 Numerics 2394.3 Meta-programming 2524.4 Utilities 2564.5 The Time Is Now 2674.6 Concurrency 2704.7 Scientific Libraries Beyond the Standard 2824.8 Exercises 285Chapter 5: Meta-Programming 2895.1 Let the Compiler Compute 2895.2 Providing and Using Type Information 2975.3 Expression Templates 3185.4 Meta-Tuning: Write Your Own Compiler Optimization 3285.5 Optimizing with Semantic Concepts 3545.6 Turing Completeness 3595.7 Exercises 362Chapter 6: Object-Oriented Programming 3656.1 Basic Principles 3656.2 Removing Redundancy 3796.3 Multiple Inheritance 3806.4 Dynamic Selection by Sub-typing 3876.5 Conversion 3896.6 Advanced Techniques 3976.7 Exercises 405Chapter 7: Scientific Projects 4077.1 Implementation of ODE Solvers 4077.2 Creating Projects 4187.3 Modules 4307.4 Some Final Words 434Appendix A: Clumsy Stuff 435A.1 More Good and Bad Scientific Software 435A.2 Basics in Detail 441A.3 Real-World Example: Matrix Inversion 449A.4 Class Details 458A.5 Method Generation 462A.6 Template Details 474A.7 More on Libraries 479A.8 Dynamic Selection in Old Style 480A.9 More about Meta-Programming 481A.10 Linking to C Code 489Appendix B: Programming Tools 491B.1 g++ 491B.2 Debugging 492B.3 Memory Analysis 496B.4 gnuplot 498B.5 Unix, Linux, and Mac OS 498Appendix C: Language Definitions 501C.1 Value Categories 501C.2 Operator Overview 502C.3 Conversion Rules 504Bibliography 507Subject Index 513

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.