C++ Crash Course: A Fast-Paced Introduction

  • 12h 12m
  • Josh Lospinoso
  • No Starch Press
  • 2019

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 development

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

About the Author

Joshua Lospinoso, PhD is an entrepreneur who served 15 years in the US Army. As a cyber officer, Josh wrote dozens of infosec tools and taught C++ to junior developers. He has spoken at a wide range of conferences, published over twenty peer-reviewed articles, and holds a patent. In 2012, he co-founded a successfully acquired security company and is a Rhodes Scholar. He keeps a blog and is an active contributor to open-source software.

In this Book

  • Foreword
  • Introduction
  • An Overture to C Programmers
  • Up and Running
  • Types
  • Reference Types
  • The Object Life Cycle
  • Runtime Polymorphism
  • Compile-Time Polymorphism
  • Expressions
  • Statements
  • Functions
  • Testing
  • Smart Pointers
  • Utilities
  • Containers
  • Iterators
  • Strings
  • Streams
  • Filesystems
  • Algorithms
  • Concurrency and Parallelism
  • Network Programming with Boost Asio
  • Writing Applications
  • Modern C++, Compiled and Optimized
  • Resources