Discovering Modern C++, 2nd Edition
©2021 |Addison-Wesley Professional | Available
Peter Gottschling
©2021 |Addison-Wesley Professional | Available
Introducing Pearson+ 1500+ eTexts and study tools, all in one place. Subscriptions starting at $9.99/month.
K-12 educators: This link is for individuals purchasing with credit cards or PayPal only. Contact your Savvas Learning Company Account General Manager for purchase options.
This product is part of the following series. Click on a series title to see the full list of products in the series.
Contents
Preface
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.4 Destructors
2.5 Method Generation R´esum´e
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 A Little Bit of Theory on Templates: Concepts
3.6 Template Specialization
3.7 Non-Type Parameters for Templates
3.8 Functors
3.9 Lambda
3.10 Variable Templates
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 Turing Completeness
5.6 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 CRTP
6.7 Exercises
Chapter 7 Scientific Projects
7.1 Implementation of ODE Solvers
7.2 Creating Projects
7.3 Some Final Words
Appendix A Clumsy Stuff
A.1 More Good and Bad Scientific Software
A.2 Basics in Detail
A.2.4 Duff’s Device
A.2.5 More about main
A.3 Real-World Example: Matrix Inversion
A.4 Class Details
A.5 Method Generation
A.5.1 Controlling the Generation
A.5.2 Generation Rules
A.5.3 Pitfalls and Design Guides
A.6 Template Details
A.6.1 Uniform Initialization
A.6.2 Which Function Is Called?
A.6.3 Specializing for Specific Hardware
A.6.4 Variadic Binary I/O
A.7 Using std::vector in C++03
A.7.1 Using std::vector in C++03
A.7.2 variant
A.8 Dynamic Selection in Old Style
A.9 Meta-Programming Details
A.9.1 First Meta-Program in History
A.9.2 Meta-Functions
A.9.3 Backward-Compatible Static Assertion
A.9.4 Anonymous Type Parameters
A.9.5 Benchmark Sources of Dynamic Unrolling
A.9.6 Benchmark for Matrix Product
Appendix B Programming Tools
B.1 g++
B.2 Debugging
B.2.1 Text-Based Debugger
B.2.2 Debugging with Graphical Interface: DDD
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
C.3.1 Promotion
C.3.2 Other Conversions
C.3.3 Usual Arithmetic Conversions
C.3.4 Narrowing
Bibliography
SUBJECT INDEX
Discovering Modern C++ (OASIS), 2nd Edition
Gottschling
©2022
Pearson offers affordable and accessible purchase options to meet the needs of your students. Connect with us to learn more.
K12 Educators: Contact your Savvas Learning Company Account General Manager for purchase options. Instant Access ISBNs are for individuals purchasing with credit cards or PayPal.
Savvas Learning Company is a trademark of Savvas Learning Company LLC.
Gottschling
©2022  | Addison-Wesley Professional  | 576 pp
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.
We're sorry! We don't recognize your username or password. Please try again.
The work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning.
You have successfully signed out and will be required to sign back in should you need to download more resources.