Jump to ratings and reviews
Rate this book

Expert C++: Become a proficient programmer by learning coding best practices with C++17 and C++20's latest features

Rate this book
C++ has evolved over the years and the latest release – C++20 – is now available. Since C++11, C++ has been constantly enhancing the language feature set. With the new version, you'll explore an array of features such as concepts, modules, ranges, and coroutines. This book will be your guide to learning the intricacies of the language, techniques, C++ tools, and the new features introduced in C++20, while also helping you apply these when building modern and resilient software.

You'll start by exploring the latest features of C++, and then move on to advanced techniques such as multithreading, concurrency, debugging, monitoring, and high-performance programming. The book will delve into object-oriented programming principles and the C++ Standard Template Library, and even show you how to create custom templates. After this, you'll learn about different approaches such as test-driven development (TDD), behavior-driven development (BDD), and domain-driven design (DDD), before taking a look at the coding best practices and design patterns essential for building professional-grade applications. Toward the end of the book, you will gain useful insights into the recent C++ advancements in AI and machine learning.

By the end of this C++ programming book, you'll have gained expertise in real-world application development, including the process of designing complex software.

What you will learn
Understand memory management and low-level programming in C++ to write secure and stable applications
Discover the latest C++20 features such as modules, concepts, ranges, and coroutines
Understand debugging and testing techniques and reduce issues in your programs
Design and implement GUI applications using Qt5
Use multithreading and concurrency to make your programs run faster
Develop high-end games by using the object-oriented capabilities of C++
Explore AI and machine learning concepts with C++

Who this book is for
This C++ book is for experienced C++ developers who are looking to take their knowledge to the next level and perfect their skills in building professional-grade applications.

Table of Contents

Introduction to Building C++ Applications
Low-Level Programming with C++
Details of Object-Oriented Programming
Understanding and Designing Templates
Memory Management and Smart Pointers
Digging into Data Structures and Algorithms in STL
Functional Programming
Concurrency and Multithreading
Designing Concurrent Data Structures
Designing World-Ready Applications
Designing a Strategy Game Using Design Patterns
Networking and Security
Debugging and Testing
Graphical User Interface with Qt
Using C++ in Machine Learning Tasks
Implementing a Dialog-Based Search Engine

606 pages, ebook

Published April 10, 2020

16 people are currently reading
14 people want to read

About the author

Vardan Grigoryan

1 book4 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
6 (50%)
4 stars
2 (16%)
3 stars
4 (33%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 - 3 of 3 reviews
Profile Image for Vardan Grigoryan.
Author 1 book4 followers
May 2, 2020
I might be a little biased, but I liked it for the most parts :D
Profile Image for Crys R.
1 review
November 15, 2023
When writing this review, I've finished about half of the book. I'm not sure whether it qualifies me
properly for criticizing this book.
As for the merits of this book, it covers some low-level details and some intricate aspects of C++ language, but only a touch of those things.
Yet in the mean time, this book lacks many small but important details you should at least know as a C++ programmer, so I think it best suits as an complementary reading material for learning C++.

I think the worst problem is that as it claims to be an expert C++ book, it spends too much paragraphs on such basic topics as vector / list / tree data structure etc., which you should be well aware of as an intermediate level programmer (that's why you want to read the book, to become an expert!). So it's a deviation from the purpose of this book and a waste of time for the target readers as well.
The conclusion is that this book lacks more advanced topics, it should be named Intermediate C++ instead.
20 reviews
January 17, 2022
Actually read it from cover to cover. Useful insights and enjoyed mostly the bits on coding. Not so much the last sections. These topics were a bit general, not really talking to the C++ language.
Displaying 1 - 3 of 3 reviews

Can't find what you're looking for?

Get help and learn more about the design.