C++ Crash Course: A Fast-Paced Introduction

Lospinoso, Josh



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. Wherever performance matters, C++ is the de facto standard. It's the language behind operating systems, embedded devices, games, web browsers, and virtual reality systems. As a C++ developer, you can program efficient software on virtually any platform.

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. In Part I, you'll learn about all of the essential core language features. Part II introduces you to the C++ Standard Library and Boost Libraries, where you'll learn about high-quality, fully-featured facilities immediately available to you.

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


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.