Alright, so lambdas in C++ are cool and we’ve been coding with one arm tied behind our back all this time. C++11 brought us this wonderful goodness, which is great, but just how do you actually use them? No messing around, let’s jump right in!
STL
Includes material relating the C++ standard template library.
Container iteration with C++11
C++11 introduced some features which make working with STL containers much easier. One common situation is the need to iterate over a container and to perform some operation(s) on each item. Consider the following typical example:
std::vector<SomeType> container;
// ...
for(std::vector<SomeType>::iterator iter = container.begin();
iter != container.end();
++iter)
{
const SomeType& item = *iter;
// ...
}
This syntax has a couple of drawbacks:
- It is rather verbose
- Every aspect of the container’s type needs to be included in the definition of
iter