cta quote button

Best Books to Help You Learn C++

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. C++ Primer (5th Edition) (2012)

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.


Start Fast and Achieve More

  • Learn how to use the new C++11 language features and the standard library to build robust programs quickly, and get comfortable with high-level programming
  • Learn through examples that illuminate today’s best coding styles and program design techniques
  • Understand the “rationale behind the rules”: why C++11 works as it does
  • Use the extensive crossreferences to help you connect related concepts and insights
  • Benefit from up-to-date learning aids and exercises that emphasize key points, help you to avoid pitfalls, promote good practices, and reinforce what you’ve learned


Access the source code for the extended examples from informit.com/title/0321714113


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


Author(s): Stanley B. Lippman, Josée Lajoie

2. The C++ Programming Language, 4th Edition (2013)

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 world's 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's C++ Programming Language, Fourth Edition.

Author(s): Bjarne Stroustrup

3. C++ All-in-One For Dummies (2014)

Get ahead of the C++ curve to stay in the game

C++ is the workhorse of programming languages and remains one of the most widely used programming languages today. It’s cross-platform, multi-functional, and updates are typically open-source. The language itself is object-oriented, offering you the utmost control over data usage, interface, and resource allocation. If your job involves data, C++ proficiency makes you indispensable.

C++ All-in-One For Dummies, 3rd Edition is your number-one handbook to C++ mastery. Author John Paul Mueller is a recognized authority in the computer industry, and your ultimate guide to C++. Mueller takes you through all things C++, including information relevant to the 2014 update.

  • Learn how to work with objects and classes
  • Conquer advanced programming and troubleshooting
  • Discover how lambda expressions can make your code more concise and readable
  • See Standard Library features, such as dynamic arrays, in action

Online resources include source code from examples in the book as well as a C++ GNU compiler. If you need to learn C++, this is the fastest, most effective way to do it. C++ All-in-One For Dummies, 3rd Edition will get you up and running quickly, so you can get to work producing code faster and better than ever.

Author(s): John Paul Mueller, Jeff Cogswell

4. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 (2014)

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 effectively—so 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++14—i.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.

“After I learned the C++ basics, I then learned how to use C++ in production code from Meyer’s series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don’t own it yet? Buy this one. Now”.
— Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft

Author(s): Scott Meyers

5. C++ in One Hour a Day, Sams Teach Yourself (8th Edition) (2016)

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

Author(s): Siddhartha Rao

6. Beginning C++ Through Game Programming (2014)

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 started–with 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 you’ve 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.

Author(s): Michael Dawson

7. C++ Primer Plus (6th Edition) (Developer’s Library) (2011)

C++ Primer Plus, Sixth Edition

New C++11 Coverage

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.

The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.

Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.

Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.

In C++ Primer Plus, you’ll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:

  • A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard
  • Complete, integrated discussion of both basic C language and additional C++ features
  • Clear guidance about when and why to use a feature
  • Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time
  • Hundreds of practical sample programs
  • Review questions and programming exercises at the end of each chapter to test your understanding
  • Coverage of generic C++ gives you the greatest possible flexibility
  • Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Table of Contents

1: Getting Started with C++

2: Setting Out to C++

3: Dealing with Data

4: Compound Types

5: Loops and Relational Expressions

6: Branching Statements and Logical Operators

7: Functions: C++’s Programming Modules

8: Adventures in Functions

9: Memory Models and Namespaces

10: Objects and Classes

11: Working with Classes

12: Classes and Dynamic Memory Allocation

13: Class Inheritance

14: Reusing Code in C++

15: Friends, Exceptions, and More

16: The string Class and the Standard Template Library

17: Input, Output, and Files

18: The New C++11 Standard

A Number Bases

B C++ Reserved Words

C The ASCII Character Set

D Operator Precedence

E Other Operators

F The stringTemplate Class

G The Standard Template Library Methods and Functions

H Selected Readings and Internet Resources

I Converting to ISO Standard C++

J Answers to Chapter Reviews

Author(s): Stephen Prata

8. Starting Out with C++ from Control Structures to Objects (9th Edition) (2017)

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 “why”–but 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. Updates to the 9th Edition include revised, improved problems throughout and a new chapter featuring completely rewritten and expanded material on the Standard Template Library (STL).

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. Through practice exercises and immediate, personalized feedback, MyLab  Programming improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

Note: You are purchasing a standalone product; MyLab™ & Mastering™ does not come packaged with this content. Students, if interested in purchasing this title with MyLab & Mastering, ask your instructor for the correct package ISBN and Course ID. Instructors, contact your Pearson representative for more information.

If you would like to purchase both the physical text and MyLab & Mastering, search for:

0134544846 / 9780134544847 Starting Out with C++ from Control Structures to Objects Plus MyProgrammingLab with Pearson eText — Access Card Package, 9/e

Package consists of:

  • 0134484193 / 9780134484198 MyProgrammingLab with Pearson eText — Access Card — for Starting Out with C++ from Control Structures to Objects, 9/e

  • 0134498372 / 9780134498379 Starting Out with C++ from Control Structures to Objects

Students can use the URL and phone number below to help answer their questions:





Author(s): Tony Gaddis

9. C++: Programming Basics for Absolute Beginners (Step-By-Step C++) (Volume 1) (2017)

C++ Made Easy – a Step-by-Step Guide for Beginners

Get the Kindle version FREE when purchasing the Paperback!

Learning a programming language can seem like a daunting task. You may have looked at coding in the past, and felt it was too complicated and confusing. This comprehensive beginner’s guide will take you step by step through learning one of the best programming languages out there. In a matter of no time, you will be writing code like a professional.

C++ is an evolution of the C programming language and is a powerful and versatile language. It is a great language to learn whether you have never written a line of code in your life, or are a seasoned developer. C++ is a stepping stone to creating a multitude of wonderful and practical programs.

What This Book Offers

Made for Beginners
This guide is written specifically for beginners. We take you step-by-step through writing your very first program, explaining each portion of code as we go along. We guide you through choosing a compiler and editor, as well as common pitfalls beginners should avoid.

Reference Manual
This book serves as a teaching guide and also a reference manual to accompany you through this wonderful world of programming. For that reason we included a sample C++ library, a glossary of terms, as well as lists of available compilers, IDE’s and libraries for future reference.

Introduction to C++
For newcomers to C++ we look at what the language has to offer, the basic structure of a program, advantages and disadvantages, as well as numerous examples as demonstration.

Key Topics

  • Basics of C++
  • Writing Your First Program, Step-By-Step
  • Basic Program Structure
  • Compilers
  • Editors
  • Sample Applications
  • Capabilities of C++
  • Benefits and Limitations of C++
  • How to Minimize Bugs and Errors
  • How to Avoid Being Hacked
  • Sample C++ Library
  • Glossary of Terms

Get Your Copy Today!

Author(s): Nathan Clark

10. Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers (C++ In-Depth Series) (2015)

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.


Author(s): Peter Gottschling

11. Starting Out with C++ from Control Structures to Objects (8th Edition) (2014)

Note: You are purchasing a standalone product; MyProgrammingLab does not come packaged with this content. If you would like to purchase both the physical text and MyProgrammingLab  search for ISBN-10: 0133796337/ISBN-13: 9780133796339. That package includes ISBN-10: 0133769399/ISBN-13: 9780133769395  and ISBN-10: 0133780619 /ISBN-13: 9780133780611.

MyProgrammingLab is not a self-paced technology and should only be purchased when required by an instructor.

This text is intended for either a one-semester accelerated introductory course or a traditional two-semester sequence covering C++ programming. It is also suitable for readers interested in a comprehensive introduction to C++ programming.


Tony Gaddis’s accessible, step-by-step presentation helps 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 “why”–but never losing sight of the fact that most beginners struggle with this material. His approach is both gradual and highly accessible, ensuring that students understand the logic behind developing high-quality programs.


In Starting Out with C++: From Control Structures through Objects, Gaddis covers control structures, functions, arrays, and pointers before objects and classes. 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.


MyProgrammingLab for Starting Out with C++ is a total learning package. MyProgrammingLab is an online homework, tutorial, and assessment program that truly engages students in learning. It helps students better prepare for class, quizzes, and exams—resulting in better performance in the course—and provides educators a dynamic set of tools for gauging individual and class progress.


Teaching and Learning Experience

This program presents a better teaching and learning experience–for you and your students. It will help:

  • Personalize Learning with MyProgrammingLab: Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming.
  • Enhance Learning with the Gaddis Approach: Gaddis’s accessible approach features clear and easy-to-read code listings, concise real-world examples, and exercises in every chapter.
  • Keep Your Course Current: This edition introduces many of the new C++11 language features.
  • Support Instructors and Students: Student and instructor resources are available to expand on the topics presented in the text.

Author(s): Tony Gaddis

12. C++ Pocket Reference (2003)

C++ is a complex language with many subtle facets. This is especially true when it comes to object-oriented and template programming. The C++ Pocket Reference is a memory aid for C++ programmers, enabling them to quickly look up usage and syntax for unfamiliar and infrequently used aspects of the language. The book’s small size makes it easy to carry about, ensuring that it will always be at-hand when needed. Programmers will also appreciate the book’s brevity; as much information as possible has been crammed into its small pages.In the C++ Pocket Reference, you will find:

  • Information on C++ types and type conversions
  • Syntax for C++ statements and preprocessor directives
  • Help declaring and defining classes, and managing inheritance
  • Information on declarations, storage classes, arrays, pointers, strings, and expressions
  • Refreshers on key concepts of C++ such as namespaces and scope
  • More!

C++ Pocket Reference is useful to Java and C programmers making the transition to C++, or who find themselves occasionally programming in C++. The three languages are often confusingly similar. This book enables programmers familiar with C or Java to quickly come up to speed on how a particular construct or concept is implemented in C++.Together with its companion STL Pocket Reference, the C++ Pocket Reference forms one of the most concise, easily-carried, quick-references to the C++ language available.

Author(s): Kyle Loudon