Using the C++ Standard Template Libraries is a contemporary treatment
that teaches the generic programming capabilities that the C++ 14
Standard Library provides. In this book, author Ivor Horton explains
what the class and function templates available with C++ 14 do, and how
to use them in a practical context.
You'll learn how to create containers, and how iterators are used with
them to access, modify, and extend the data elements they contain.
You'll also learn about stream iterators that can transfer data between
containers and streams, including file streams. The function templates
that define algorithms are explained in detail, and you'll learn how to
pass function objects or lambda expressions to them to customize their
behavior. Many working examples are included to demonstrate how to apply
the algorithms with different types of containers.
After reading this book, you will understand the scope and power of the
templates that the C++ 14 Standard Library includes and how these can
greatly reduce the coding and development time for many applications.
You'll be able to combine the class and function templates to great
effect in dealing with real-world problems.
The templates in the Standard Library provide you as a C++ programmer
with a comprehensive set of efficiently implemented generic programming
tools that you can use for most types of application.
- How to use Standard Library templates with your C++ applications.
Understand the different types of containers that are available and what
they are used for.
How to define your own class types to meet the requirements of use with
containers.
What iterators are, the characteristics of the various types of
iterators, and how they allow algorithms to be applied to the data in
different types of container.
How you can define your own iterator types.
What the templates that define algorithms do, and how you apply them to
data stored in containers and arrays.
How to access hardware clocks and use them for timing execution.
How to use the templates available for compute-intensive numerical data
processing.
How to create and use pseudo-random number generators with distribution
objects.