Leanpub Header

Skip to main content

Complete C++ Programming Guide Third Edition

Master C++ Syntax Data Structures, OOP, Templates, STL, Multithreading, and Design Patterns

The Complete C++ Programming Guide – Third Edition Master Modern C++ with Hundreds of Exercises and Stunning Visual Infographics

Are you ready to become fluent in C++—from fundamentals to professional-grade techniques?

Whether you're a beginner, a student, or a seasoned developer upgrading your C++ knowledge, The Complete C++ Programming Guide – Third Edition is your definitive resource. This fully revised and expanded edition delivers hundreds of hands-on coding exercisesrich visual infographics, and a modern, structured approach to mastering every key aspect of C++.

Minimum price

$19.00

$29.00

You pay

$29.00

Author earns

$23.20
$

...Or Buy With Credits!

You can get credits with a paid monthly or annual Reader Membership, or you can buy them here.
PDF
About

About

About the Book

The Complete C++ Programming Guide – Third Edition
Master Modern C++ with Hundreds of Exercises and Stunning Visual Infographics

Are you ready to become fluent in C++—from fundamentals to professional-grade techniques?

Whether you're a beginner, a student, or a seasoned developer upgrading your C++ knowledge, The Complete C++ Programming Guide – Third Edition is your definitive resource. This fully revised and expanded edition delivers hundreds of hands-on coding exercisesrich visual infographics, and a modern, structured approach to mastering every key aspect of C++.

🔥 What Makes This Edition Unbeatable?

✅ New in This Edition:

  • Hundreds of carefully crafted exercises with real-world relevance
  • Infographic-driven learning to visualize complex topics intuitively
  • Updated for modern C++ standards and best practices
  • Expanded sections on multithreading, STL, design patterns, and more

✅ Master the Entire Language Stack:

  • C++ Syntax, Data Types, and Control Flow
  • Object-Oriented Programming and Design
  • Templates and the STL
  • File I/O and Stream Handling
  • Exception Safety and Debugging
  • Advanced Concurrency and Multithreading
  • Proven Design Patterns and Real-World Architecture

✅ Perfect for:

  • Aspiring developers learning from scratch
  • University students and self-taught programmers
  • Professionals upgrading to modern C++
  • Technical interview preparation

🧠 Learn by Doing

Each chapter is packed with targeted exercises to reinforce your skills. You'll debug real code, refactor legacy logic, and build systems that mirror industry-level development—all while learning the “why,” not just the “how.”

🖼️ Visual Learning

Diagrams, timelines, flowcharts, and architecture maps clarify even the most abstract topics—making this guide ideal for visual learners and analytical thinkers alike.

Join thousands of readers leveling up their careers through C++.
If you're serious about mastering C++ for software engineering, systems programming, game development, or performance-critical applications—this is the book for you.

📘 Get your copy now and unlock the full power of C++.

From the Editor at Burst Books — Gareth Thomas

A Smarter Kind of Learning Has Arrived — Thinking on Its Own.

Forget tired textbooks from years past. These AI-crafted STEM editions advance at the speed of discovery. Each page is built by intelligence trained on thousands of trusted sources, delivering crystal-clear explanations, flawless equations, and functional examples — all refreshed through the latest breakthroughs.

Best of all, these editions cost a fraction of traditional texts yet surpass expectations. You’re gaining more than a book — you’re enhancing the mind’s performance.

Explore BurstBooksPublishing on GitHub to find technical samples, infographics, and additional study material — a complete hub that supports deeper, hands-on learning.

In this age of AI, leave the past behind and learn directly from tomorrow.

Share this book

Categories

Bundle

Bundles that include this book

Author

About the Author

gareth thomas

Gareth Morgan Thomas is a qualified expert with extensive expertise across multiple STEM fields. Holding six university diplomas in electronics, software development, web development, and project management, along with qualifications in computer networking, CAD, diesel engineering, well drilling, and welding, he has built a robust foundation of technical knowledge.

Educated in Auckland, New Zealand, Gareth Morgan Thomas also spent three years serving in the New Zealand Army, where he honed his discipline and problem-solving skills. With years of technical training, Gareth Morgan Thomas is now dedicated to sharing his deep understanding of science, technology, engineering, and mathematics through a series of specialized books aimed at both beginners and advanced learners.

Contents

Table of Contents

Chapter 1. Introduction to C++

Section 1. What is C++?

  • History of C++
  • Why choose C++?
  • Overview of C++ features
  • C++ in the context of other programming languages
  • C++ applications
  • Future of C++

Section 2. Setting Up the Development Environment

  • Choosing a C++ compiler
  • Installing a compiler (GCC, Clang, MSVC)
  • Introduction to IDEs (Integrated Development Environments)
  • Setting up a basic project
  • Compiling your first program
  • Debugging tools

Section 3. Basic Syntax and Structure

  • Structure of a simple C++ program
  • Basic syntax rules
  • Variables and data types
  • Constants and literals
  • Operators
  • Basic Input/Output

Chapter 2. Variables and Data Types

Section 1. Fundamental Data Types

  • Integers, Characters, and Booleans
  • Floating-point numbers
  • Size and Range of data types
  • Type modifiers
  • Auto keyword
  • Typedef and using

Section 2. Complex Data Types

  • Arrays
  • Structures
  • Unions
  • Enumerations
  • Pointers
  • References

Section 3. Using Type Inference

  • Introduction to auto and decltype
  • Practical examples using auto
  • Limitations of type inference
  • Best practices for type inference
  • The role of auto in generic programming
  • Future trends in type inference

Chapter 3. Control Structures

Section 1. Conditional Statements

  • If statement
  • Switch statement
  • Conditional operator
  • Nested if statements
  • Best practices for conditionals
  • Common pitfalls

Section 2. Loops and Iteration

  • For loop
  • While loop
  • Do-while loop
  • Range-based for loop
  • Break and continue
  • Infinite loops and how to avoid them

Section 3. Advanced Control Flow

  • Goto statement
  • Early exits from functions
  • Recursive functions
  • Lambda expressions
  • Functional programming constructs
  • Exception handling basics

Chapter 4. Functions

Section 1. Basics of Functions

  • Defining and calling functions
  • Function arguments and return types
  • Inline functions
  • Overloading functions
  • Default arguments
  • Function pointers

Section 2. Advanced Function Usage

  • Passing arguments by value, pointer, and reference
  • Returning multiple values from functions
  • Namespaces and scope
  • Recursive functions
  • Lambda expressions and functors
  • Function templates

Section 3. Best Practices and Common Mistakes

  • Organizing code into functions
  • Avoiding common pitfalls in function design
  • Performance implications
  • Secure coding practices in functions
  • Unit testing functions
  • Documentation and maintenance

Chapter 5. Object-Oriented Programming

Section 1. Introduction to OOP

  • Principles of OOP (Encapsulation, Inheritance, Polymorphism)
  • Classes and objects
  • Class constructors and destructors
  • Access specifiers
  • Static members
  • Friend classes and friend functions

Section 2. Inheritance and Polymorphism

  • Base classes and derived classes
  • Overriding functions
  • Abstract classes and interfaces
  • Multiple inheritance
  • Virtual functions and polymorphism
  • Object slicing and polymorphism

Section 3. Advanced OOP Features

  • Operator overloading
  • Copy constructors and assignment operators
  • Move semantics
  • Smart pointers
  • Object-oriented design patterns
  • OOP best practices and pitfalls

Chapter 6. Templates and the Standard Template Library (STL)

Section 1. Introduction to Templates

  • Function templates
  • Class templates
  • Template specialization
  • Variadic templates
  • Understanding template instantiation
  • Templates and performance considerations

Section 2. The Standard Template Library (STL)

  • Containers (vector, list, map, etc.)
  • Iterators
  • Algorithms
  • Functors
  • Binders and function objects
  • Memory management in STL

Section 3. Advanced STL Usage

  • Custom allocators
  • Thread safety in STL
  • STL and modern C++ features
  • Performance optimization with STL
  • Debugging STL code
  • Extending STL with custom components

Chapter 7. Error Handling and Debugging

Section 1. Basic Error Handling

  • Asserts and static_asserts
  • Exception handling basics
  • Standard exceptions
  • Creating custom exceptions
  • Exception safety guarantees
  • Error handling strategies

Section 2. Debugging Techniques

  • Using a debugger
  • Debugging with print statements
  • Memory leak detection
  • Profiling applications
  • Static and dynamic analysis tools
  • Common debugging scenarios

Section 3. Advanced Error Handling

  • Design by contract
  • Error handling in resource-constrained environments
  • Logging and tracing
  • Handling failures in multithreaded environments
  • Fail-safe and fault-tolerant systems
  • Best practices for robust error handling

Chapter 8. File Handling and I/O Streams

Section 1. Basics of File Handling

  • Opening and closing files
  • Reading from and writing to files
  • Binary and text files
  • File pointers and random access
  • Error handling in file operations
  • Best practices for secure file handling

Section 2. I/O Streams

  • Standard input and output streams
  • Manipulating I/O streams
  • Stream classes for strings
  • Stream state and exceptions
  • Formatting output
  • Performance considerations

Section 3. Advanced File and Stream Operations

  • Custom stream buffers
  • Overloading stream operators for custom types
  • Integrating third-party libraries
  • Data serialization and deserialization
  • Efficient I/O strategies
  • Case studies of file handling in large projects

Chapter 9. Multithreading and Concurrency

Section 1. Basics of Multithreading

  • Introduction to threads
  • Creating and managing threads
  • Thread synchronization (mutexes, locks)
  • Thread communication (condition variables)
  • Thread-specific data
  • Pitfalls and common mistakes

Section 2. Advanced Threading Concepts

  • Task-based parallelism
  • Future, promise, and async operations
  • Thread pools
  • Lock-free programming
  • Atomic operations
  • Memory models and orderings

Section 3. Concurrency in Practice

  • Designing concurrent data structures
  • Performance patterns and anti-patterns
  • Scalability considerations
  • Debugging multithreaded applications
  • Best practices for writing clean, efficient, and safe concurrent code
  • Real-world case studies

Chapter 10. Best Practices and Design Patterns

Section 1. Code Quality and Standards

  • Coding standards and guidelines
  • Code reviews and mentoring
  • Refactoring techniques
  • Static code analysis
  • Documentation practices
  • Tools and environments for maintaining code quality

Section 2. Design Patterns

  • Creational patterns (Factory, Singleton, Builder, Prototype)
  • Structural patterns (Adapter, Decorator, Proxy, Composite)
  • Behavioral patterns (Strategy, Observer, Command, Iterator)
  • Choosing the right pattern
  • Anti-patterns and common pitfalls
  • Pattern-oriented software architecture

Section 3. Advanced Topics in Software Engineering

  • Software architecture principles
  • Agile and iterative development methodologies
  • Testing strategies (unit, integration, system)
  • Continuous integration and deployment
  • Performance optimization
  • Security considerations in software design

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub