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