Best C++ Programming Language Books

C++ is a computer programming language that contains the feature of C programming language as well as Simula67 (it is was the first object Oriented language). C++ introduced the concepts of Classes and Objects.

1. Make: Electronics: Learning Through Discovery

Author: by Charles Platt
Published at: Make Community, LLC; 2nd edition (September 22, 2015)
ISBN: 978-1680450262

View on Amazon

“This is teaching at its best!” Hans Camenzind, inventor of the 555 timer (the world’s most successful integrated circuit).”A fabulous book: well written, well paced, fun, and informative. I also love the sense of humor. It’s very good at disarming the fear.And it’s gorgeous.

I’ll be recommending this book highly.” Tom Igoe, author of Physical Computing and Making Things Talk. A “magnificent and rewarding book…. Every step of this structured instruction is expertly illustrated with photos and crisp diagrams…. This really is the best way to learn.” Kevin Kelly, in Cool Tools.

The first edition of Make: Electronics established a new benchmark for introductory texts. This second edition enhances that learning experience. Using full color on every page, hundreds of photographs and diagrams convey concepts with unmatched clarity. Platt uses a hands on approach throughout.

You learn by building your own simple circuits. You begin by blowing a fuse or burning out an LED to demonstrate voltage, amperage, and electrical resistance. As it says on the cover, “Burn things out, mess things up that’s how you learn!”The hands on approach continues with basic switching circuits.

2. C++ Primer (5th Edition)

Author: by Stanley Lippman
Published at: Addison-Wesley Professional; 5th edition (August 6, 2012)
ISBN: 978-0321714114

View on Amazon

Bestselling Programming Tutorial and Reference Completely Rewritten for the New C++11 Standard Fully updated and recast for the newly released C++11 standard, this authoritative and comprehensive introduction to C++ will help you to learn the language fast, and to use it in modern, highly effective ways.

Highlighting today’s best practices, the authors show how to use both the core language and its standard library to write efficient, readable, and powerful code. 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.

The book’s many examples have been revised to use the new language features and demonstrate how to make the best use of them. This book is a proven tutorial for those new to C++, an authoritative discussion of core C++ concepts and techniques, and a valuable resource for experienced programmers, especially those eager to see C++11 enhancements illuminated.

3. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

Author: by Scott Meyers
Published at: O'Reilly Media, Incorporated; 1st edition (December 5, 2014)
ISBN: 978-1491903995

View on Amazon

Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.G., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectivelyso that your software is correct, efficient, maintainable, and portable.

That’s where this practical book comes in. It describes how to write truly great software using C++11 and C++14i.E.Using modern C++. Topics include: The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions The relationships among std::move, std::forward, rvalue references, and universal references Techniques for writing clear, correct, effective lambda expressions How std::atomic differs from volatile, how each should be used, and how they relate to C++’s concurrency API How best practices in “old” C++ programming (i.E., C++98) require revision for software development in modern C++ Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers’ earlier books, but covers entirely new material.

4. Programming: Principles and Practice Using C++ (2nd Edition)

Author: by Bjarne Stroustrup
Published at: Addison-Wesley Professional; 2nd edition (May 15, 2014)
ISBN: 978-0321992789

View on Amazon

An Introduction to Programming by the Inventor of C++ Preparation for Programming in the Real World The book assumes that you aim eventually to write non-trivial programs, whether for work in software development or in some other technical field. Focus on Fundamental Concepts and Techniques The book explains fundamental concepts and techniques in greater depth than traditional introductions.

This approach will give you a solid foundation for writing useful, correct, maintainable, and efficient code. Programming with Today’s C++ (C++11 and C++14) The book is an introduction to programming in general, including object-oriented programming and generic programming. It is also a solid introduction to the C++ programming language, one of the most widely used languages for real-world software.

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. For BeginnersAnd Anyone Who Wants to Learn Something New The book is primarily designed for people who have never programmed before, and it has been tested with many thousands of first-year university students.

5. Starting Out with C++ from Control Structures to Objects

Author: by Tony Gaddis
Published at: Pearson; 9th edition (February 13, 2017)
ISBN: 978-0134498379

View on Amazon

For two-semester courses in the C++ programming sequence, or an accelerated one-semester course. A clear and student-friendly way to teach the fundamentals of C++ Starting Out with C++: From Control Structures through Objects covers control structures, functions, arrays, and pointers before objects and classes in Tony Gaddis’s hallmark accessible, step-by-step presentation.

His books help beginning students understand the important details necessary to become skilled programmers at an introductory level. Gaddis motivates the study of both programming skills and the C++ programming language by presenting all the details needed to understand the how and the whybut never losing sight of the fact that most beginners struggle with this material.

His approach is gradual and highly accessible, ensuring that students understand the logic behind developing high-quality programs. As with all Gaddis texts, clear and easy-to-read code listings, concise and practical real-world examples, and an abundance of exercises appear in every chapter.

6. The C++ Programming Language, 4th Edition

Author: by Bjarne Stroustrup
Published at: Addison-Wesley Professional; 4th edition (May 9, 2013)
ISBN: 978-0321563842

View on Amazon

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 methodnoticeable by a small space inside the spinealso increases durability. C++11 has arrived: thoroughly master it, with the definitive new guide from C++ creator Bjarne Stroustrup, C++ Programming Language, Fourth Edition!

The brand-new edition of the worlds most trusted and widely read guide to C++, it has been comprehensively updated for the long-awaited C++11 standard. Extensively rewritten to present the C++11 language, standard library, and key design techniques as an integrated whole, Stroustrup thoroughly addresses changes that make C++11 feel like a whole new language, offering definitive guidance for leveraging its improvements in performance, reliability, and clarity.

C++ programmers around the world recognize Bjarne Stoustrup as the go-to expert for the absolutely authoritative and exceptionally useful information they need to write outstanding C++ programs. Now, as C++11 compilers arrive and development organizations migrate to the new standard, they know exactly where to turn once more: Stoustrup C++ Programming Language, Fourth Edition.

7. A Tour of C++ (C++ In-Depth Series)

Author: by Bjarne Stroustrup
Published at: Addison-Wesley Professional; 2nd edition (June 29, 2018)
ISBN: 978-0134997834

View on Amazon

In A Tour of C++, Second Edition, Bjarne Stroustrup, the creator of C++, describes what constitutes modern C++. This concise, self-contained guide covers most major language features and the major standard-library componentsnot, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started.

Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++17, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency.

The tour even covers some extensions being made for C++20, such as concepts and modules, and ends with a discussion of the design and evolution of C++. This guide does not aim to teach you how to program (for that, see Stroustrup’s Programming: Principles and Practice Using C++, Second Edition), nor will it be the only resource you’ll need for C++ mastery (for that, see Stroustrup’s The C++ Programming Language, Fourth Edition, and recommended online sources).

8. C++ in One Hour a Day, Sams Teach Yourself

Author: by Siddhartha Rao
Published at: Sams Publishing; 8th edition (December 23, 2016)
ISBN: 978-0789757746

View on Amazon

In just one hour a day, you’ll have all the skills you need to begin programming in C++. With this complete tutorial, you’ll quickly master the basics, and then move on to more advanced features and concepts. Completely updated for the C++14 standard, with a preview of C++17, this book presents the language from a practical point of view, helping you learn how to use C++ to create faster, simpler, and more efficient C++ applications.

Master the fundamentals of C++ and object-oriented programming Understand how C++ features help you write compact and efficient code using concepts such as lambda expressions, move constructors, and assignment operators Learn best practices and avoid pitfalls via useful Do’s and Don’ts Learn the Standard Template Library, including containers and algorithms used in most real-world C++ applications Test your knowledge and expertise with exercises at the end of every lesson Learn on your own time, at your own pace: No previous programming experience required Write fast and powerful C++ programs, compile the source code, and create executable files Learn object-oriented programming concepts such as encapsulation, abstraction, inheritance, and polymorphism Use the Standard Template Library’s algorithms and containers to write feature-rich yet stable C++ applications Learn how automatic type deduction helps simplify C++ code Develop sophisticated programming techniques using lambda expressions, smart pointers, and move constructors Master the features of C++ by learning from programming experts Learn C++ features that allow you to program compact and high-performance C++ applications Preview what’s new in C++17 Contents at a Glance Part I: The Basics Lesson 1: Getting Started Lesson 2: The Anatomy of a C++ Program Lesson 3: Using Variables, Declaring Constants Lesson 4: Managing Arrays and Strings Lesson 5: Working with Expressions, Statements, and Operators Lesson 6: Controlling Program Flow Lesson 7: Organizing Code with Functions Lesson 8: Pointers and References Explained Part II: Fundamentals of Object-Oriented C++ Programming Lesson 9: Classes and Objects Lesson 10: Implementing Inheritance Lesson 11: Polymorphism Lesson 12: Operator Types and Operator Overloading Lesson 13: Casting Operators Lesson 14: An Introduction to Macros and Templates Part III: Learning the Standard Template Library (STL) Lesson 15: An Introduction to the Standard Template Library Lesson 16: The STL String Class Lesson 17: STL Dynamic Array Classes Lesson 18: STL list and forward_list Lesson 19: STL Set Classes Lesson 20: STL Map Classes Part IV: More STL Lesson 21: Understanding Function Objects Lesson 22: Lambda Expressions Lesson 23: STL Algorithms Lesson 24: Adaptive Containers: Stack and Queue Lesson 25: Working with Bit Flags Using STL Part V: Advanced C++ Concepts Lesson 26: Understanding Smart Pointers Lesson 27: Using Streams for Input and Output Lesson 28: Exception Handling Lesson 29: Going Forward Part VI: Appendixes Appendix A: Working with Numbers: Binary and Hexadecimal Appendix B: C++ Keywords Appendix C: Operator Precedence Appendix D: ASCII Codes Appendix E: Answers

9. Effective C++: 55 Specific Ways to Improve Your Programs and Designs

Author: by Scott Meyers
Published at: Addison-Wesley Professional; 3rd edition (May 12, 2005)
ISBN: 978-0321334879

View on Amazon

Effective C++ 3/e is a complete update of Effective C++ and Effective C++ 2/e . Like its predecessors, 3/e has 55 guidelines which contain better, more effective ways to write code, backed by specific examples. The second edition published in 1997, and was basically a face-lift of the first edition, keeping most of the same elements, and seven years later is still selling well.

Now, Meyers has dramatically rejuvenated the material, including more than 30% brand-new material. Meyers began this edition by asking himself, “What are the 55 most important pieces of advice for practicing C++ programmers in 2005?” He also asked thousands of past users of his books this same question.

This resulted in a completely new book. New material includes use of UML notation, thread safety, exception safety, design patterns, and templates. Any older material has been revitalized to reflect new ideas and strides in C++ development.

10. C++ Crash Course: A Fast-Paced Introduction

Author: by Josh Lospinoso
Published at: No Starch Press; Illustrated edition (September 24, 2019)
ISBN: 978-1593278885

View on Amazon

A fast-paced, thorough introduction to modern C++ written for experienced programmers. After reading C++ Crash Course, you’ll be proficient in the core language concepts, the C++ Standard Library, and the Boost Libraries. C++ is one of the most widely used languages for real-world software.

In the hands of a knowledgeable programmer, C++ can produce small, efficient, and readable code that any programmer would be proud of. Designed for intermediate to advanced programmers, C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the most modern revision of the ISO standard.

Part 1 covers the core of the C++ language, where you’ll learn about everything from types and functions, to the object life cycle and expressions. Part 2 introduces you to the C++ Standard Library and Boost Libraries, where you’ll learn about all of the high-quality, fully-featured facilities available to you.

You’ll cover special utility classes, data structures, and algorithms, and learn how to manipulate file systems and build high-performance programs that communicate over networks. You’ll learn all the major features of modern C++, including: Fundamental types, reference types, and user-defined types The object lifecycle including storage duration, memory management, exceptions, call stacks, and the RAII paradigm Compile-time polymorphism with templates and run-time polymorphism with virtual classes Advanced expressions, statements, and functions Smart pointers, data structures, dates and times, numerics, and probability/statistics facilities Containers, iterators, strings, and algorithms Streams and files, concurrency, networking, and application developmentWith well over 500 code samples and nearly 100 exercises, C++ Crash Course is sure to help you build a strong C++ foundation.

11. Elements of Programming Interviews: The Insiders' Guide

Author: by Adnan Aziz
Published at: CreateSpace Independent Publishing Platform; 2nd edition (October 11, 2012)
ISBN: 978-1479274833

View on Amazon

This is the C++ version of our book. See the website for links to the Java version, as well as to a version that uses larger fonts.Have you ever… Wanted to work at an exciting futuristic company? Struggled with an interview problem that could have been solved in 15 minutes?

Wished you could study real-world computing problems? If so, you need to read Elements of Programming Interviews (EPI). EPI is your comprehensive guide to interviewing for software development roles. The core of EPI is a collection of over 250 problems with detailed solutions.

The problems are representative of interview questions asked at leading software companies. The problems are illustrated with 200 figures, 300 tested programs, and 150 additional variants. The book begins with a summary of the nontechnical aspects of interviewing, such as strategies for a great interview, common mistakes, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI.

12. Think Like a Programmer: An Introduction to Creative Problem Solving

Author: by V. Anton Spraul
Published at: No Starch Press; 1st edition (August 12, 2012)
ISBN: 978-1593274245

View on Amazon

The real challenge of programming isn’t learning a language’s syntaxit’s learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer.

Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You’ll also learn how to:Split problems into discrete components to make them easier to solveMake the most of code reuse with functions, classes, and librariesPick the perfect data structure for a particular jobMaster more advanced programming tools like recursion and dynamic memoryOrganize your thoughts and develop strategies to tackle particular types of problemsAlthough the book’s examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science.

13. Beginning C++ Through Game Programming

Author: by Michael Dawson
Published at: Cengage Learning PTR; 4th edition (June 23, 2014)
ISBN: 978-1305109919

View on Amazon

When it comes to game programming, C++ is the name of the game. If you aspire to move from game player to game creator, it all starts with learning the fundamentals of C++ and game-programming basics. With BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION, you will find an up-to-date and thorough introduction to everything you need to get startedwith no previous programming experience required.

In the new fourth edition of this popular guide to learning C++, you will work with a complete program while learning each new concept and a game program at the end of each chapter. A final game project at the end of the book draws together everything youve learned.

Written with the beginning programmer in mind, BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION is a great way to get started in game programming.

14. Learn C++ Quickly: A Complete Beginner’s Guide to Learning C++, Even If You’re New to Programming (Crash Course With Hands-On Project)

Author: by Code Quickly
Published at: Drip Digital (July 29, 2020)
ISBN: 978-1951791629

View on Amazon

A perfect way to have your resume outshine the rest The most successful programs of the last 30 years were developed in C++. From Microsoft Word to Facebook to Adobe Photoshop, C++ is at the heart of the most lucrative technologies in today’s world.

C++ is the most powerful programming language in the modern world for one simple reason: it allows for complete control, not only of the program’s logic and graphical user interface, but of the hardware too. If all the IT giants use it, it stands to reason that the most successful programmers in the world all have C++ on their resume.

And that’s why you should add it to yours today. With a solid foundation in C++ programming, you can open doors and grow your salary-it’s simply a case of learning a new language. Once you’ve mastered the basics, you’ll gain: The skills to micro-manage any computer’s performance The ability to write code for Windows, Mac, Linux, and mobile devices The capability of programming computer games, graphical applications, and AI, to name but a few A stepping stone to mastering a host of other programming languages A fundamental understanding of a complex but logical computer language These are the skills you need to become a programming master and skyrocket your career.

15. Problem Solving with C++

Author: by Walter Savitch
Published at: Pearson; 10th edition (February 10, 2017)
ISBN: 978-0134448282

View on Amazon

For courses in C++ introductory programming. Learn the fundamentals of C++ programming with an emphasis on problem solving Now in its 10th Edition, Problem Solving with C++ is written for the beginning programmer. The text cultivates strong problem-solving skills and programming techniques as it introduces readers to the C++ programming language.

Author Walt Savitch’s approach to programming emphasizes active reading through the use of well-placed examples and self-tests, while flexible coverage means the order of chapters and sections can easily be adapted without sacrificing continuity. Savitch’s clear, concise style is a hallmark feature of the text and is supported by a suite of tried-and-true pedagogical tools.

The 10th Edition includes ten new Programming Projects, along with new discussions and revisions. Also available with MyLab Programming MyLab Programming is an online learning system designed to engage students and improve results. MyLab Programming consists of programming exercises correlated to the concepts and objectives in this book.

16. Modern C++ Programming Cookbook: Master C++ core language and standard library features, with over 100 recipes, updated to C++20, 2nd Edition

Author: by Marius Bancila
Published at: Packt Publishing (September 11, 2020)
ISBN: 978-1800208988

View on Amazon

A pragmatic recipe book for acquiring a comprehensive understanding of the complexities and core fundamentals of C++ programming Key Features Explore the latest language and library features of C++20 such as modules, coroutines, concepts, and ranges Shed new light on the core concepts in C++ programming, including functions, algorithms, threading, and concurrency, through practical self-contained recipes Leverage C++ features like smart pointers, move semantics, constexpr, and more for increased robustness and performance Book Description C++ has come a long way to be one of the most widely used general-purpose languages that is fast, efficient, and high-performance at its core.

The updated second edition of Modern C++ Programming Cookbook addresses the latest features of C++20, such as modules, concepts, coroutines, and the many additions to the standard library, including ranges and text formatting. The book is organized in the form of practical recipes covering a wide range of problems faced by modern developers.