29 C++ Programming Books recommended by Stackoverflow
- Programming: Principles and Practice Using C++ (2nd Edition) [Read online]
The book is an introduction to programming in general, including object-oriented programming and generic programming. The book presents modern C++ programming techniques from the start, introducing the C++ standard library and C++11 and C++14 features to simplify programming tasks. .
- C++ Primer (5th Edition) [Read online]
This introduction to C++ will help you to learn the language fast, and to use it in modern, highly effective ways. C++ Primer, Fifth Edition, introduces the C++ standard library from the outset, drawing on its common functions and facilities to help you write useful programs without first having to master every language detail. .
- A Tour of C++ (C++ In-Depth Series) [Read online]
This guide does not aim to teach you how to program (see Stroustrup’s Programming: Principles and Practice Using C++ for that); nor will it be the only resource you’ll need for C++ mastery (see Stroustrup’s The C++ Programming Language, Fourth Edition, for that). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can’t find a shorter or simpler introduction than this tour provides.
- Accelerated C++: Practical Programming by Example
After a tour of basic C++, the book looks at more advanced C++ features, such as templates, including built-in support for containers. It suggests that you don’t need to learn C to be productive in C++.
- Thinking in C++, Vol. 1: Introduction to Standard C++, 2nd Edition
Now, Eckel has thoroughly rewritten Thinking in C++ to reflect the final ANSI/ISO C++ standard. This edition includes a new, chapter-length overview of the C features that are used in C++ — plus a new CD-ROM containing an outstanding C seminar that covers all the foundations developers need before they can truly take advantage of C++. Put simply, Eckel has made an outstanding book on C++ even better.
- C++ Primer Plus (5th Edition) [Read online]
If you are new to C++ programming, C++ Primer Plus, Fifth Edition is a friendly and easy-to-use self-study guide. C++ Primer Plus, Fifth Edition makes learning and using important object-oriented programming concepts understandable. Choose this classic to learn the fundamentals and more of C++ programming.
- Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) [Read online]
“Every C++ professional needs a copy of Effective C++. If you’ve never read Effective C++ and you think you know everything about C++, think again. , Java, C#, C) that help developers from those languages assimilate “the C++ way” of doing things.
- Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 [Read online]
using modern C++. “After I learned the C++ basics, I then learned how to use C++ in production code from Meyer’s series of Effective C++ books. — Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft.
- Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library [Read online]
Add Effective STL to that list. Effective STL shows you how to use it. Highlights of Effective STL include: Advice on choosing among standard STL containers (like vector and list), nonstandard STL containers (like hash_set and hash_map), and non-STL containers (like bitset).
- More Effective C++: 35 New Ways to Improve Your Programs and Designs [Read online]
Praise for Scott Meyers’ first book, Effective C++: “I heartily recommend Effective C++ to anyone who aspires to mastery of C++ at the intermediate level or above. More Effective C++ is filled with pragmatic, down-to-earth advice you’ll use every day. Like Effective C++ before it, More Effective C++ is essential reading for anyone working with C++.
- Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
Exceptional C++ shows by example how to go about sound software engineering in standard C++. Do you enjoy solving thorny C++ problems and puzzles. c++.
- More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions
It emphasizes generic programming and using the C++ Standard Library. Later sections delve into code maintenance issues, including advice for using macros, typedefs, and namespaces. (Advice on migrating existing C++ code into namespaces will help you combine legacy code with other libraries.
- Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions
Organized around practical problems and solutions, this book offers new insight into crucial C++ details and interrelationships, and new strategies for today’s key C++ programming techniques–including generic programming, STL, exception safety, and more. Exceptional C++ Style will help you design, architect, and code with style–and achieve greater robustness and performance in all your C++ software. Herb Sutter may well know the C++ programming language better than anyone else.
- C++ Coding Standards: 101 Rules, Guidelines, and Best Practices [Read online]
Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more. Whether you’re working alone or with others, C++ Coding Standards will help you write cleaner code–and write it faster, with fewer hassles and less frustration.
- C++ Templates: The Complete Guide [Read online]
Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently. C++ Templates begins with an insightful tutorial on basic concepts and language features.
- Modern C++ Design: Generic Programming and Design Patterns Applied [Read online]
In Modern C++ Design , Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. This book introduces the concept of generic components—reusable design templates that produce boilerplate code for compiler consumption—all within C++.
- C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond [Read online]
Serving as a tutorial as well as a handbook for experts, this is the book on C++ template metaprogramming. ” —Chuck Allison, Editor, The C++ Source C++ Template Metaprogramming sheds light on the most powerful idioms of today’s C++, at long last delivering practical metaprogramming tools and techniques into the hands of the everyday programmer. C++ power-users will gain a new insight into their existing work and a new fluency in the domain of metaprogramming.
- C++ Concurrency in Action: Practical Multithreading
Summary C++ Concurrency in Action is a reference and guide to the new C++ 11 Standard for experienced C++ programmers as well as those who have never written multithreaded code. Written for C++ programmers who are new to concurrency and others who may have written multithreaded code using other languages, APIs, or platforms. Managing threads Sharing data between threads Synchronizing concurrent operations The C++ memory model and operations on atomic types Designing lock-based concurrent data structures Designing lock-free concurrent data structures Designing concurrent code Advanced thread management Testing and debugging multithreaded applications.
- Advanced C++ Metaprogramming [Read online]
The book deals with language aspects, design patterns, examples and applications (seen as case studies). Special emphasis is put on small reusable techniques that will improve the quality of daily work. com/ for book errata and updates.
- The C++ Programming Language (hardcover) (4th Edition) [Read online]
The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. 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. 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.
- The C++ Standard Library: A Tutorial and Reference (2nd Edition) [Read online]
The C++ Standard Library: A Tutorial and Reference, Second Edition, describes this library as now incorporated into the new ANSI/ISO C++ language standard (C++11). The book covers all the new C++11 library components, including Concurrency Fractional arithmetic Clocks and timers Tuples New STL containers New STL algorithms New smart pointers New locale facets Random numbers and distributions Type traits and utilities Regular expressions The book also examines the new C++ programming style and its effect on the standard library, including lambdas, range-based for loops, move semantics, and variadic templates. .
- Standard C++ IOStreams and Locales: Advanced Programmer’s Guide and Reference
The book also includes a complete, authoritative class reference. Aimed at the advanced C++ programmer, Standard C++ IOStreams and Locales explains the internals of how C++ streams work and provides support for internationalization. –Richard Dragan Topics covered: Standard C++ predefined streams, input and output operators, manipulators, locale basics, formatted input, stream state flags, file streams, in-memory I/O, stream positioning, synchronizing streams, stream class architecture, stream buffer classes, character types, wide character support, stream and stream buffer iterators, custom stream classes for user-defined types, inserters and extractors, user-defined manipulators, customizing stream and stream buffer classes, internationalization and localization, standard facets, user-defined facets, stream and locale class reference.
- The Design and Evolution of C++
This book focuses on the principles, processes and decisions made during the development of the C++ programming language. By writing this book the author presents his object-oriented programming philosophy to the interested programming community. His vehicle is the C++ language but his focus is on real object-oriented programming language development for the working programmer rather than as a abstract approach to the OOP paradigm.
- Ruminations on C++: A Decade of Programming Insight and Experience
Ruminations on C++ concentrates on the key C++ ideas and programming techniques – skimming the cream – to let you understand the “why” and not just the “how” of C++ programming. This should be your next C++ book, because it covers a broad range of C++ ideas and techniques, from detailed code examples to design principles and philosophy; shows how to think about programming in C++, not just how to follow rules; explains the motivation behind its examples, sometimes even solving the same problem in two different ways; covers both object-oriented programming and generic programming; and explains the ideas behind the Standard Template Library, which is the most important recent innovation in C++. Both of them have contributed significantly to the evolution of C++.
- Advanced C++ Programming Styles and Idioms
Assuming a backgound in C++ basics, this book helps programmers to develop their programming expertise by giving a feel for the styles and idioms of the language. The approach is organized around the abstractions that C++ supports: abstracts data types, combining types in inheritance. The book also explores idioms that thte core of the C++ language does not support directly, such as virtual constructors, prototype objects, and advanced garbage collection techniques.
- Large-Scale C++ Software Design
It is the first C++ book that actually demonstrates how to design large systems, and one of the few books on object-oriented design specifically geared to practical aspects of the C++ programming language. In this book, Lakos explains the process of decomposing large systems into physical (not inheritance) hierarchies of smaller, more manageable components. He then extends these concepts from large to very large systems.
- Large-Scale C++ Volume I: Process and Architecture (Addison-Wesley Professional Computing Series)
Senior developers, architects, and project leaders need a grasp of high-level physical design concepts that even many software experts have never explored. In Large-Scale C++ Volume I: Process and Architecture, John Lakos takes a practitioner’s view of modern large-scale software development, helping experienced professionals apply architectural-level physical design concepts in their everyday work. Lakos teaches critical concepts clearly and concisely, with new high-value examples.
- Inside the C++ Object Model
Lippman’s Inside the C++ Model provides valuable insight into some of the internal workings of the C++ language. This title first examines how C++ objects work–showing the differences between C++ structures and classes. This book can help make you the resident C++ language expert at your programming shop.
- The Annotated C++ Reference Manual
This book provides a complete reference for the C++ programming language. Appendices summarize the grammar and evolution of the language, and explain in detail the differences between C and C++. The Annotated C++ Reference Manual will appeal to language implementors and expert C++ programmers.
You may also like...