Book Image

The C++ Standard Library - Second Edition

By : Rainer Grimm
Book Image

The C++ Standard Library - Second Edition

By: Rainer Grimm

Overview of this book

Standard template library enables programmers to speed up application development using the built-in data structures and algorithms in their codes. The C++ Standard Library is a comprehensive guide to the updated library of classes, algorithms, functions, iterators, and containers and serves as the best reference to the current C++ 17 standard. Starting with the introduction and history of the standard library, this book goes on to demonstrate how quickly you can manipulate various C++ template classes while writing your applications. You'll also learn in detail the four types of STL components. Then you'll discover the best methods to analyze or modify a string. You'll also learn how to make your application communicate with the outside world using input and output streams and how to use the non-owning string objects with regular strings. By the end of this book, you'll be able to take your programming skills to a higher level by leveraging the standard C++ libraries.
Table of Contents (19 chapters)
Free Chapter
1
Reader Testimonials
8
6. Adaptors for Containers
19
Index

Lists

std::list is a doubled linked list. std::list needs the header <list>.

Although it has a similar interface to std::vector or std::deque, std::list is quite different to both of them. That’s due to its structure.

std::list makes the following points unique:

  • It supports no random access.
  • The access of an arbitrary element is slow because you have to iterate in the worst case through the whole list.
  • To add or remove an element is fast, if the iterator points to the right place.
  • If you add or remove an element, the iterator keeps valid.

Because of its special structure, std::list has a few special methods.

...
Special methods of std::list
Method Description
lis.merge(c) Merges the sorted list c into the sorted list lis, so that lis keeps sorted.
lis.merge(c, op) Merges the sorted list c into the sorted list lis, so that lis keeps sorted. Uses op as sorting criteria.