Data Structures and Algorithms with the C++ STL: A guide for modern C++ practitioners

· Packt Publishing Ltd
Ebook
458
Pages

About this ebook

Explore the C++ 23 STL with practical guidance on vectors, algorithms, and custom types for intermediate developers, enriched by real-world examples.Key Features
  • Master the std::vector and understand why it should be your default container of choice
  • Understand each STL algorithm and its practical applications
  • Gain insights into advanced topics such as exception guarantees and thread safety
  • Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionWhile the Standard Template Library (STL) offers a rich set of tools for data structures and algorithms, navigating its intricacies can be daunting for intermediate C++ developers without expert guidance. This book offers a thorough exploration of the STL’s components, covering fundamental data structures, advanced algorithms, and concurrency features. Starting with an in-depth analysis of the std::vector, this book highlights its pivotal role in the STL, progressing toward building your proficiency in utilizing vectors, managing memory, and leveraging iterators. The book then advances to STL’s data structures, including sequence containers, associative containers, and unordered containers, simplifying the concepts of container adaptors and views to enhance your knowledge of modern STL programming. Shifting the focus to STL algorithms, you’ll get to grips with sorting, searching, and transformations and develop the skills to implement and modify algorithms with best practices. Advanced sections cover extending the STL with custom types and algorithms, as well as concurrency features, exception safety, and parallel algorithms. By the end of this book, you’ll have transformed into a proficient STL practitioner ready to tackle real-world challenges and build efficient and scalable C++ applications.What you will learn
  • Streamline data handling using the std::vector
  • Master advanced usage of STL iterators
  • Optimize memory in STL containers
  • Implement custom STL allocators
  • Apply sorting and searching with STL algorithms
  • Craft STL-compatible custom types
  • Manage concurrency and ensure thread safety in STL
  • Harness the power of parallel algorithms in STL
Who this book is for

This book is for intermediate-level C++ developers looking to enhance their software development skills. Familiarity with basic C++ syntax and object-oriented programming (OOP) as well as some exposure to data structures and algorithms is assumed. Tailored to software engineers, computer science students, and hobbyist programmers, this book delves into C++ STL for practical application, performance enhancement, and efficient coding practices.

About the author

John Farrier, a renowned company founder and software engineer, excels in managing high-stake software projects for defense and commercial clients. As the Co-Founder and CEO of Hellebore Consulting Group, he drove substantial growth and revolutionized mission systems architectures. His technical expertise includes C++, Design Patterns, DevOps, Signal Processing, and Game Engine Design. John is a featured speaker on Organizational Leadership, Agile Project Management, C++, and Simulation. Currently, Founder and CEO of Polyrhythm Software, John continues to work to deliver exceptional software to defense and commercial sectors, advocating a robust engineering culture prioritizing collective growth and innovation.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.