EmbeddedRelated.com
Books

C++ Programming Language, The

Stroustrup, Bjarne 2013

The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, has reorganized, extended, and completely rewritten his definitive reference and tutorial for programmers who want to use C++ most effectively.

 

The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire language—its facilities, abstraction mechanisms, standard libraries, and key design techniques. Throughout, Stroustrup presents concise, “pure C++11” examples, which have been carefully crafted to clarify both usage and program design. To promote deeper understanding, the author provides extensive cross-references, both within the book and to the ISO standard.

 

New C++11 coverage includes

  • Support for concurrency
  • Regular expressions, resource management pointers, random numbers, and improved containers
  • General and uniform initialization, simplified for-statements, move semantics, and Unicode support
  • Lambdas, general constant expressions, control over class defaults, variadic templates, template aliases, and user-defined literals
  • Compatibility issues 

Topics addressed in this comprehensive book include

  • Basic facilities: type, object, scope, storage, computation fundamentals, and more
  • Modularity, as supported by namespaces, source files, and exception handling
  • C++ abstraction, including classes, class hierarchies, and templates in support of a synthesis of traditional programming, object-oriented programming, and generic programming
  • Standard Library: containers, algorithms, iterators, utilities, strings, stream I/O, locales, numerics, and more
  • The C++ basic memory model, in depth 

This fourth edition makes C++11 thoroughly accessible to programmers moving from C++98 or other languages, while introducing insights and techniques that even cutting-edge C++11 programmers will find indispensable.

 

This is a hardcover version of the Fourth Edition. Content in this hardcover and the paperback version is identical.

 

This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method—noticeable by a small space inside the spine—also increases durability.


Why Read This Book

You should read this book if you want the authoritative, comprehensive guide to modern C++ straight from the language designer — it explains C++11 features and idioms with rigor and practical examples so you can write clearer, safer, and higher-performance code. You will learn how to use zero-overhead abstractions, the standard library, and modern concurrency constructs effectively — essential knowledge for systems, firmware, and embedded software development.

Who Will Benefit

Experienced software or firmware engineers and embedded systems developers who want to adopt modern C++ (C++11) to build efficient, maintainable systems and libraries.

Level: Advanced — Prerequisites: Solid programming experience (preferably in C or an object‑oriented language), familiarity with pointers, memory management, basic data structures, and systems-level concepts such as memory and concurrency.

Get This Book

Key Takeaways

  • Master the core and advanced features of C++11 (auto, lambdas, rvalue references/move semantics, smart pointers) and when to use them
  • Apply the standard library (STL) effectively for containers, algorithms, strings, I/O, and utilities to reduce boilerplate and bugs
  • Write zero‑overhead abstractions and idiomatic classes using RAII, value semantics, and resource management patterns
  • Design and implement generic code with templates and understand template metaprogramming and type traits
  • Employ modern concurrency primitives and understand the C++ memory model to build correct multithreaded programs

Topics Covered

  1. A Tour of C++
  2. Types, Expressions, and Declarations
  3. Statements and Control Flow
  4. Functions and Overloading
  5. Classes and Object-Oriented Programming
  6. Templates and Generic Programming
  7. The Standard Library (containers, algorithms, iterators)
  8. Utilities: strings, I/O, numerics, chrono
  9. Concurrency and Multithreading (C++11)
  10. Resource Management, RAII, and Performance
  11. Design and Programming Techniques
  12. Low-level Issues: memory model, undefined behavior, and interoperability
  13. Appendices: compatibility, summary of changes, reference material

Languages, Platforms & Tools

C++11C++General-purpose / cross-platformARM Cortex-MARM Cortex-ARISC-VGCC (g++)ClangMSVCCMake

How It Compares

More exhaustive and authoritative than Scott Meyers' Effective Modern C++ (which is concise, practical guidance) and more of a reference than C++ Primer (Lippman et al.), which is more tutorial-focused for learners.

Related Books

Bryant, Randal, O'Hallaron,...