What this book covers
Chapter 1, Building C++ Applications, will touch upon topics such as the application-building process in C++ and the low-level details of C++ applications
Chapter 2, Beyond Object-Oriented Programming, dives deeply into the design of OOP
Chapter 3, Understanding and Designing Templates, talks about the syntax of function and class templates, their instantiations, and their specializations.
Chapter 4, Template Meta Programming, provides you with the knowledge and skills you need to master template metaprogramming.
Chapter 5, Memory Management and Smart Pointers, illuminates the mystery behind memory and proper memory management techniques.
Chapter 6, Digging into Data Structures and Algorithms in STL, covers a wide range of data structures and algorithms.
Chapter 7, Advanced Data Structures, dives even deeper into what data structures there are, some of which you may have never heard about before.
Chapter 8, Functional Programming, talks about the fundamental blocks of functional programming, as well as ranges.
Chapter 9, Concurrency and Multithreading, introduces you to concurrency and multithreading fundamentals in C++ and the best practices for concurrent code design.
Chapter 10, Designing Concurrent Data, will help you picture problems with data races and acquire the basic knowledge needed to design concurrent algorithms and data structures.
Chapter 11, Designing World-Ready Applications, addresses common design ideas that will help prevent errors and write world-ready applications.
Chapter 12, Incorporating Design Patterns in C++ Applications, we will analyze examples of using design patterns in C++ applications in various different areas.
Chapter 13, Networking and Security, discuss the standard networking extension and see what is needed to implement networking-supported programs.
Chapter 14, Debugging and Testing, describes the analysis of a software defect, the use of the GNU Debugger (GDB) tool to debug a program, and the use of tools to automatically analyze software.
Chapter 15, Large-Scale Application Design, discusses the practices behind building data-intensive applications and explores data partitioning, replication, caching, and data flow optimization.
Chapter 16, Understanding and Using C++ in Machine Learning Tasks, introduce the concepts of AI and ML and also provides examples of tasks in ML. We are going to implement them and give you a basic idea of how you should research and move forward with solving more complex tasks.
Chapter 17, Using C++ in Data Science, explains why C++ can be used in the data science industry and how it makes it possible.
Chapter 18, Designing and Implementing a Data Analysis Framework, explores the basic steps of building a complex data analysis program using C++.