Book description
Take your C++ skills to the next level with expert insights on advanced techniques, design patterns, and high-performance programming Purchase of the print or Kindle book includes a free PDF eBook
Key Features
- Master templates, metaprogramming, and advanced functional programming techniques to elevate your C++ skills
- Design scalable and efficient C++ applications with the latest features of C++17 and C++20
- Explore real-world examples and essential design patterns to optimize your code
Book Description
Are you an experienced C++ developer eager to take your skills to the next level? This updated edition of Expert C++ is tailored to propel you toward your goals.
This book takes you on a journey of building C++ applications while exploring advanced techniques beyond object-oriented programming. Along the way, you'll get to grips with designing templates, including template metaprogramming, and delve into memory management and smart pointers. Once you have a solid grasp of these foundational concepts, you'll advance to more advanced topics such as data structures with STL containers and explore advanced data structures with C++. Additionally, the book covers essential aspects like functional programming, concurrency, and multithreading, and designing concurrent data structures. It also offers insights into designing world-ready applications, incorporating design patterns, and addressing networking and security concerns. Finally, it adds to your knowledge of debugging and testing and large-scale application design.
With Expert C++ as your guide, you'll be empowered to push the boundaries of your C++ expertise and unlock new possibilities in software development.
What you will learn
- Go beyond the basics to explore advanced C++ programming techniques
- Develop proficiency in advanced data structures and algorithm design with C++17 and C++20
- Implement best practices and design patterns to build scalable C++ applications
- Master C++ for machine learning, data science, and data analysis framework design
- Design world-ready applications, incorporating networking and security considerations
- Strengthen your understanding of C++ concurrency, multithreading, and optimizing performance with concurrent data structures
Who this book is for
This book will empower experienced C++ developers to achieve advanced proficiency, enabling them to build professional-grade applications with the latest features of C++17 and C++20. If you’re an aspiring software engineer or computer science student, you’ll be able to master advanced C++ programming techniques through real-world applications that will prepare you for complex projects and real-world challenges.
Table of contents
- Expert C++
- Contributors
- About the authors
- About the reviewers
- Preface
- Part 1:Under the Hood of C++ Programming
- Chapter 1: Building C++ Applications
-
Chapter 2: Beyond Object-Oriented Programming
- Technical requirements
-
An introduction to OOP and the C++ object model
- Understanding objects
- Low-level details of objects
- High-level details of objects
- C++ object model
- State
- Identity
- Behavior
- Mimicking a class
- Working with classes
- Classes from a compiler perspective
- Initialization and destruction
- Copying objects
- Moving objects
- An lvalue reference
- Rvalue references
- Notes on operator overloading
- Encapsulation and the public interface
- Class relationships
- Aggregation and composition
- Under the hood of inheritance and polymorphism
- Classical design patterns
- Design principles
- More UML in project design
- Summary
- Questions
- Further reading
- Chapter 3: Understanding and Designing Templates
- Chapter 4: Template Meta Programming
- Chapter 5: Memory Management and Smart Pointers
- Part 2: Designing Robust and Efficient Applications
- Chapter 6: Digging into Data Structures and Algorithms in STL
-
Chapter 7: Advanced Data Structures
- Technical requirements
- B-trees
- Searching
- Implementation details of std::unordered_map
- How std::unordered_map organizes element storing and how elements are inserted into or searched in std::unordered_map
- Hash functions and strategies that are used to implement them
- Heaps and their applications
- Advanced lists
- Summary
- Questions
- Further reading
- Chapter 8: Functional Programming
- Chapter 9: Concurrency and Multithreading
- Chapter 10: Designing Concurrent Data Structures
- Chapter 11: Designing World-Ready Applications
- Chapter 12: Incorporating Design Patterns in C++ Applications
- Chapter 13: Networking and Security
- Chapter 14: Debugging and Testing
- Chapter 15: Large-Scale Application Design
- Part 3:C++ in the AI World
- Chapter 16: Understanding and Using C++ in Machine Learning Tasks
- Chapter 17: Using C++ in Data Science
- Chapter 18: Designing and Implementing a Data Analysis Framework
- Index
- Other Books You May Enjoy
Product information
- Title: Expert C++ - Second Edition
- Author(s):
- Release date: August 2023
- Publisher(s): Packt Publishing
- ISBN: 9781804617830
You might also like
book
A Tour of C++, 3rd Edition
In A Tour of C++, Third Edition, Bjarne Stroustrup provides an overview of ISO C++, C++20, …
book
A Tour of C++, 2nd Edition
In Bjarne Stroustrup, the creator of C++, describes what constitutes modern C++. This concise, self-contained guide …
book
The C++ Programming Language, 4th Edition
The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to …
book
Professional C++, 5th Edition
Improve your existing C++ competencies quickly and efficiently with this advanced volume Professional C++ , 5th …