Key Features
- Learn the latest features of C++ and how to write better code by using the Standard Library (STL). Reduce the development time for your applications.
- Understand the scope and power of STL features to deal with real-world problems.
- Compose your own algorithms without forfeiting the simplicity and elegance of the STL way.
Book Description
C++ has come a long way and is in use in every area of the industry. Fast, efficient, and flexible, it is used to solve many problems. The upcoming version of C++ will see programmers change the way they code. If you want to grasp the practical usefulness of the C++17 STL in order to write smarter, fully portable code, then this book is for you.
Beginning with new language features, this book will help you understand the language's mechanics and library features, and offers insight into how they work. Unlike other books, ours takes an implementation-specific, problem-solution approach that will help you quickly overcome hurdles. You will learn the core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on practical real-world recipes. These recipes will help you get the most from the STL and show you how to program in a better way.
By the end of the book, you will be up to date with the latest C++17 features and save time and effort while solving tasks elegantly using the STL.
What you will learn
- Learn about the new core language features and the problems they were intended to solve
- Understand the inner workings and requirements of iterators by implementing them
- Explore algorithms, functional programming style, and lambda expressions
- Leverage the rich, portable, fast, and well-tested set of well-designed algorithms provided in the STL
- Work with strings the STL way instead of handcrafting C-style code
- Understand standard support classes for concurrency and synchronization, and how to put them to work
- Use the filesystem library addition available with the C++17 STL
About the Author
Jacek Galowicz obtained his master of science in electrical engineering/computer engineering at RWTH Aachen University, Germany. While at university, he enjoyed working as a student assistant in teaching and research, and he participated in several scientific publications. During and after his studies, he worked as a freelancer and implemented applications as well as kernel drivers in C and C++, touching various areas, including 3D graphics programming, databases, network communication, and physics simulation. In recent years, he has been programming performance- and security-sensitive microkernel operating systems for Intel x86 virtualization at Intel and FireEye in Braunschweig, Germany. He has a strong passion for modern C++ implementations of low-level software, and he tries hard to combine high performance with an elegant coding style. Learning purely functional programming and Haskell in recent years triggered his drive to implement generic code with the aid of meta programming.
Table of Contents
- The New C++17 Features
- STL Containers
- Iterators
- Lambda Expressions
- STL Algorithm Basics
- Advanced Use of STL Algorithms
- Strings, Stream Classes, and Regular Expressions
- Utility Classses
- Parallelism and Concurrency
- Filesystem