Synopses & Reviews
Discovering Modern C++ will quickly lead you to the more sophisticated styles and advanced features that are typically used for scientific and engineering applications.
Learning to program C++ is probably the fastest way to master the full spectrum of computing power available on today's hardware. This book covers techniques for programming "close to the bare metal" hardware as well as more abstract high-level programming constructs. The lower-level programming, like user-definable memory management, empowers you as programmer to understand what really happens during the execution, which in turn helps you to understand the behavior of programs and allows you to write extremely efficient programs.
C++ shines in particular when you need to develop large, highly complex software that demands good performance, but the development process does not need to slow and painful. This book demonstrates that with the right abstractions at hand, you can write C++programs quite rapidly for a variety of problem domains.
Synopsis
As scientific and engineering projects grow larger and more complex, it is increasingly likely that those projects will be written in C++. With embedded hardware growing more powerful, much of its software is moving to C++, too. Mastering C++ gives you 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++ is an intensive introduction that guides you smoothly to sophisticated approaches based on advanced features. Gottschling 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.
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.
"
Table of Contents
1 Introduction
2 C++ Basics 11
3 Classes
4 Libraries
5 Meta-Programming
6 Object-oriented Programming
7 Generic Implementation of ODE Solvers
Appendix A More Good and Bad Scientific Software
Appendix B Programming tools
Appendix C Language Definitions