One of the main responsibility as a programmer is to ensure that your application is not leaking memory. Many OOB languages provides a garbage collector which makes sure that no leakage occurs.
Imagine that you have two classes: MyClassA and MyClassB. Both of these classes have their respective .h and .cpp file. However, you need to reference MyClassA in MyClassB, do you know where you should use #include "MyClassA.h" as opposed to class MyClassA in the files of MyClassB?
So what are Iterators? Iterators are an efficient method provided by C++ to traverse the elements of any type of containers such as: Vectors, Deques, Lists, etc. An iterator represents a certain position in a container.
There is a new type of for-loop in C++ 11 that you may want to give it a try. In my opinion is more clean and efficient, but you should decide yourself.
I have heard of Lambda functions for a while but never had the courage to use them. Well, last week I was forced to use them. They are actually not that bad to learn. I want to give you a brief overview on how to use them.