C++ Crash Course

C++ Crash Course

A Fast-Paced Introduction
by Josh Lospinoso
September 2019, 792 pp.

C++ Crash Course, 2nd edition coming soon. Click here for details.

Look Inside!

C++ Crash CourseC++ Crash CourseC++ Crash CourseC++ Crash CourseC++ Crash Course

Download Chapter 3: Reference Types Visit the companion site

Upgrade your Code with C++ 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 (resource acquisition is initialization) 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 development

With well over 500 code samples and nearly 100 exercises, C++ Crash Course is sure to help you build a strong C++ foundation. Covers C++17

Author Bio 

Joshua Lospinoso, PhD is an entrepreneur who served 15 years in the US Army. As a cyber officer, Lospinoso wrote dozens of infosec tools and built and taught the C++ course that United States Cyber Command uses to teach its junior developers. He has spoken at a wide range of conferences, published over twenty peer-reviewed articles, and co-founded a successfully acquired security company. He keeps a blog and is an active contributor to open-source software. Lospinoso holds a PhD in Statistics from the University of Oxford and is a Rhodes Scholar.

Table of contents 

An Overture to C Programmers

Part I: The C++ Core Language

Chapter 1: Up and Running
Chapter 2: Types
Chapter 3: Reference Types
Chapter 4: The Object Life Cycle
Chapter 5: Run-Time Polymorphism
Chapter 6: Compile-Time Polymorphism
Chapter 7: Expressions
Chapter 8: Statements
Chapter 9: Functions

Part II: C++ Libraries and Frameworks

Chapter 10: Testing
Chapter 11: Smart Pointers
Chapter 12: Utilities
Chapter 13: Containers
Chapter 14: Iterators
Chapter 15: Strings
Chapter 16: Streams
Chapter 17: Filesystems
Chapter 18: Algorithms
Chapter 19: Concurrency and Parallelism
Chapter 20: Network Programming with Boost Asio
Chapter 21: Writing Applications

View the detailed Table of Contents
View the Index


"A comprehensive book, both in size (over 700 pages, taking 5 months to review) and breadth of coverage . . . All in all, highly recommended."

"I can highly recommend this book to anyone who already has programming experience (in another language) and wants to dive straight into modern C++."
—Arjan van Eersel, @ArjanvanEersel, CTO of Plandail Limited

Extra Stuff 

Listen to an interview with Josh Lospinoso about C++ Crash Course on Take Up Code!


Please see https://ccc.codes/ for a complete list of errata.