Book description
Design and architect real-world scalable C++ applications by exploring advanced techniques in low-level programming, object-oriented programming (OOP), the Standard Template Library (STL), metaprogramming, and concurrency
Key Features
- Design professional-grade, maintainable apps by learning advanced concepts such as functional programming, templates, and networking
- Apply design patterns and best practices to solve real-world problems
- Improve the performance of your projects by designing concurrent data structures and algorithms
Book Description
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
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
- Section 1: Under the Hood of C++ Programming
- Introduction to Building C++ Applications
- Low-Level Programming with C++
- Details of Object-Oriented Programming
- Understanding and Designing Templates
- Memory Management and Smart Pointers
- Section 2: Designing Robust and Efficient Applications
- 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
- Section 3: C++ in the AI World
- Using C++ in Machine Learning Tasks
- Implementing a Dialog-Based Search Engine
- Assessments
- Other Books You May Enjoy
Product information
- Title: Expert C++
- Author(s):
- Release date: April 2020
- Publisher(s): Packt Publishing
- ISBN: 9781838552657
You might also like
book
Advanced C++
Become an expert at C++ by learning all the key C++ concepts and working through interesting …
book
Professional C++, 4th Edition
Get up to date quickly on the new changes coming with C++17 Professional C++ is the …
book
Mastering C++ Programming
Take your C++ coding to the next level by leveraging the latest features and advanced techniques …
book
Optimized C++
In today’s fast and competitive world, a program’s performance is just as important to customers as …