Skip to Content
C++20 for Programmers: An Objects-Natural Approach, 3rd Edition
book

C++20 for Programmers: An Objects-Natural Approach, 3rd Edition

by Paul Deitel, Harvey Deitel
April 2022
Intermediate to advanced
1012 pages
38h 1m
English
Pearson

Overview

The professional programmer's Deitel® guide to C++20

"C++20 for Programmers builds up an intuition for modern C++ that every programmer should have in the current software engineering ecosystem. The unique and brilliant ordering in which the Deitels present the material jibes much more naturally with the demands of modern, production-grade programming environments. I strongly recommend this book for anyone who needs to get up to speed on C++, particularly in professional programming environments where the idioms and patterns of modern C++ can be indecipherable without the carefully crafted guidance that this book provides."

--Dr. Daisy Hollman, ISO C++ Standards Committee Member

"This is a fine book that covers a surprising amount of the very large language that is C++20. An in-depth treatment of C++ for a reader familiar with how things work in other programming languages. "

--Arthur O'Dwyer, C++ trainer, Chair of CppCon's Back to Basics track, author of several accepted C++17/20/23 proposals and the book Mastering the C++17 STL

"Forget about callback functions, bare pointers and proprietary multithreading libraries--C++20 is about standard concurrency features, generic lambda expressions, metaprogramming, tighter type-safety and the long-awaited concepts, which are all demonstrated in this book. Functional programming is explained clearly with plenty of illustrative code listings. The excellent chapter, 'Parallel Algorithms and Concurrency: A High-Level View,' is a highlight of this book."

--Danny Kalev, Ph.D. and Certified System Analyst and Software Engineer, Former ISO C++ Standards Committee Member

Written for programmers with a background in another high-level language, in this book, youll learn Modern C++ development hands on using C++20 and its "Big Four" features--Ranges, Concepts, Modules and Coroutines. For more details, see the Preface, and the table of contents diagram inside the front cover.

Related Content

Video: C++20 Fundamentals

In the context of 200+, hands-on, real-world code examples, you'll quickly master Modern C++ coding idioms using popular compilers--Visual C++®, GNU® g++, Apple® Xcode® and LLVM®/Clang. After the C++ fundamentals quick start, you'll move on to C++ standard library containers array and vector; functional-style programming with C++20 Ranges and Views; strings, files and regular expressions; object-oriented programming with classes, inheritance, runtime polymorphism and static polymorphism; operator overloading, copy/move semantics, RAII and smart pointers; exceptions and a look forward to C++23 Contracts; standard library containers, iterators and algorithms; templates, C++20 Concepts and metaprogramming; C++20 Modules and large-scale development; and concurrency, parallelism, the C++17 and C++20 parallel standard library algorithms and C++20 Coroutines.

Features

  • Rich coverage of C++20's "Big Four": Ranges, Concepts, Modules and Coroutines

  • Objects-Natural Approach: Use standard libraries and open-source libraries to build significant applications with minimal code

  • Hundreds of real-world, live-code examples

  • Modern C++: C++20, 17, 14, 11 and a look to C++23

  • Compilers: Visual C++®, GNU® g++, Apple Xcode® Clang, LLVM®/Clang

  • Docker: GNU® GCC, LLVM®/Clang

  • Fundamentals: Control statements, functions, strings, references, pointers, files, exceptions

  • Object-oriented programming: Classes, objects, inheritance, runtime and static polymorphism, operator overloading, copy/move semantics, RAII, smart pointers

  • Functional-style programming: C++20 Ranges and Views, lambda expressions

  • Generic programming: Templates, C++20 Concepts and metaprogramming

  • C++20 Modules: Large-Scale Development

  • Concurrent programming: Concurrency, multithreading, parallel algorithms, C++20 Coroutines, coroutines support libraries, C++23 executors

  • Future: A look forward to Contracts, range-based parallel algorithms, standard library coroutine support and more

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Learning Go, 2nd Edition

Learning Go, 2nd Edition

Jon Bodner
Programming Rust, 2nd Edition

Programming Rust, 2nd Edition

Jim Blandy, Jason Orendorff, Leonora F. S. Tindall

Publisher Resources

ISBN: 9780136905776