Using the C++ Standard Template Libraries

  • 10h 40m
  • Ivor Horton
  • Apress
  • 2015

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.

About the Author

Ivor Horton is self-employed in consultancy and writes programming tutorials. He worked for IBM for many years and holds a bachelor's degree, with honors, in mathematics. Horton's experience at IBM includes programming in most languages (like assembler and high-level languages on a variety of machines), real-time programming, and designing and implementing real-time closed loop industrial control systems. He has extensive experience teaching programming to engineers and scientists (Fortran, PL/1, APL, etc.). Horton is an expert in mechanical, process, and electronic CAD systems; mechanical CAM systems; and DNC/CNC systems.

In this Book

  • Introducing the Standard Template Library
  • Using Sequence Containers
  • Container Adapters
  • Map Containers
  • Working with Sets
  • Sorting, Merging, Searching, and Partitioning
  • More Algorithms
  • Generating Random Numbers
  • Stream Operations
  • Working with Numerical, Time, and Complex Data