Discovering Modern C++ (C++ In-Depth Series)
معرفی کتاب «Discovering Modern C++ (C++ In-Depth Series)» نوشتهٔ Peter Gottschling، منتشرشده توسط نشر Addison-Wesley Professional در سال 2021. این کتاب در 576 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Discovering Modern C++ (C++ In-Depth Series)» در دستهٔ برنامهنویسی قرار دارد.
Write Powerful, Modern C++ Code for Scientific, Engineering, and Embedded Applications Discovering Modern C++, Second Edition, will help you master valuable skills for programming with C++ at nearly every level, from "close to the hardware" to high-level abstractions. Updated for C++17 and C++ 20, this intensive introduction teaches C++ using realistic examples from diverse technical problem domains. Drawing on extensive experience teaching C++ to physicists, mathematicians, engineers, and students, Peter Gottschling guides you smoothly to sophisticated approaches based on advanced features. Whatever your programming experience, you'll rapidly master increasingly powerful features, from lambdas to expression and variadic templates. Gottschling also shows you how to apply C++'s libraries: both the Standard Template Library (STL) and scientific libraries for arithmetic, linear algebra, differential equations, and graphs. Step by step, you'll learn to write clear and expressive code using object orientation, generics, metaprogramming, and procedural techniques, and master all the abstractions you need to write high-quality, well-performing software. Quickly master core features: variables, operators, expressions, statements, functions, error handling, I/O, arrays, pointers, references, and more Make the most of classes and object-oriented programming, from constructors/destructors to operator overloading and multiple inheritance Apply advanced generic programming and template-based techniques Use C++’s libraries to write more robust and powerful code more quickly Explore metaprogramming in depth, and master cutting-edge optimization techniques Walk through representative scientific projects, and create your own Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details. Title Page Contents Table of Contents Preface Reasons to Learn C++ Reasons to Read This Book The Beauty and the Beast Languages in Science and Engineering Typographical Conventions Acknowledgments About the Author Chapter 1. C++ Basics 1.1 Our First Program 1.2 Variables 1.3 Operators 1.4 Expressions and Statements 1.5 Functions 1.6 Error Handling 1.7 I/O 1.8 Arrays, Pointers, and References 1.9 Structuring Software Projects 1.10 Exercises Chapter 2. Classes 2.1 Program for Universal Meaning, Not Technical Details 2.2 Members 2.3 Setting Values: Constructors and Assignments 2.4 Destructors 2.5 Method Generation Summary 2.6 Accessing Member Variables 2.7 Operator Overloading Design 2.8 Exercises Chapter 3. Generic Programming 3.1 Function Templates 3.2 Namespaces and Function Lookup 3.3 Class Templates 3.4 Type Deduction and Definition 3.5 Template Specialization 3.6 Non-Type Parameters for Templates 3.7 Functors 3.8 Lambda 3.9 Variable Templates 3.10 Programming with Concept(s) 3.11 Variadic Templates 3.12 Exercises Chapter 4. Libraries 4.1 Standard Template Library 4.2 Numerics 4.3 Meta-programming 4.4 Utilities 4.5 The Time Is Now 4.6 Concurrency 4.7 Scientific Libraries Beyond the Standard 4.8 Exercises Chapter 5. Meta-Programming 5.1 Let the Compiler Compute 5.2 Providing and Using Type Information 5.3 Expression Templates 5.4 Meta-Tuning: Write Your Own Compiler Optimization 5.5 Optimizing with Semantic Concepts 5.6 Turing Completeness 5.7 Exercises Chapter 6. Object-Oriented Programming 6.1 Basic Principles 6.2 Removing Redundancy 6.3 Multiple Inheritance 6.4 Dynamic Selection by Sub-typing 6.5 Conversion 6.6 Advanced Techniques 6.7 Exercises Chapter 7. Scientific Projects 7.1 Implementation of ODE Solvers 7.2 Creating Projects 7.3 Modules 7.4 Some Final Words Appendix A. Clumsy Stuff A.1 More Good and Bad Scientific Software A.2 Basics in Detail A.3 Real-World Example: Matrix Inversion A.4 Class Details A.5 Method Generation A.6 Template Details A.7 More on Libraries A.8 Dynamic Selection in Old Style A.9 More about Meta-Programming A.10 Linking to C Code Appendix B. Programming Tools B.1 g++ B.2 Debugging B.3 Memory Analysis B.4 gnuplot B.5 Unix, Linux, and Mac OS Appendix C. Language Definitions C.1 Value Categories C.2 Operator Overview C.3 Conversion Rules Bibliography As Scientific And Engineering Projects Grow Larger And More Complex, More Are Being Written In C++. With Embedded Hardware Growing More Powerful, Much Of Its Software Is Moving To C++, Too. When You Master C++, You'll Gain Strong Skills For Programming At Nearly Every Level, From Close To The Hardware To The Highest-level Abstractions. In Short, C++ Is A Language That Scientific And Technical Practitioners Need To Know. 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. This Book Is Designed To Help You Get Started Rapidly And Then Master Increasingly Robust Features, From Lambdas To Expression Templates. You'll Also Learn How To Take Advantage Of The Powerful Libraries Available To C++ Programmers: Both The Standard Template Library (stl) And Scientific Libraries For Arithmetic, Linear Algebra, Differential Equations, And Graphs. In This Second Edition, Gottschling Also Presents Thorough And Expert Coverage Of Multi-threading And Variadic Templates. Throughout, Gottschling Demonstrates How To Write Clear And Expressive Software Using Object Orientation, Generics, Metaprogramming, And Procedural Techniques. By The Time You're Finished, You'll Have Mastered All The Abstractions You Need To Write C++ Programs With Exceptional Quality And Performance. "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. This book is designed to help you get started rapidly and then master increasingly robust features, from lambdas to expression templates. You'll also learn how to take advantage of the powerful libraries available to C++ programmers: both the Standard Template Library (STL) and scientific libraries for arithmetic, linear algebra, differential equations, and graphs. In this Second Edition, Gottschling also presents thorough and expert coverage of multi-threading and variadic templates"-- Provided by publisher **Write Powerful, Modern C++ Code for Scientific, Engineering, and Embedded Applications**__**Discovering Modern C++, Second Edition,**__* Quickly master core features: variables, operators, expressions, statements, functions, error handling, I/O, arrays, pointers, references, and more * Make the most of classes and object-oriented programming, from constructors/destructors to operator overloading and multiple inheritance * Apply advanced generic programming and template-based techniques * Use C++’s libraries to write more robust and powerful code more quickly * Explore metaprogramming in depth, and master cutting-edge optimization techniques * Walk through representative scientific projects, and create your own
دانلود کتاب Discovering Modern C++ (C++ In-Depth Series)