Transforming the contents of containers
If std::copy
is the simplest STL algorithm for application on ranges, std::transform
is the second simplest STL algorithm. Just as copy
, it copies items from one range to another but additionally accepts a transformation function. This transformation function can alter the value of the input type before it is assigned to an item in the destination range. Furthermore, it can even construct a completely different type, which is useful if the source range and destination range differ in their payload item types. It is simple to use but still very useful, which makes it an ordinary standard component used in portable day-to-day programs.
How to do it...
In this section, we are going to use std::transform
in order to modify the items of a vector while copying them:
- As always, we first need to include all the necessary headers and to spare us some typing, we declare that we use the
std
namespace:
#include <iostream> #include <vector>...