C++ for each, pulling from vector elements

For next examples assumed that you use C++11. Example with ranged-based for loops: You should use const auto &attack depending on the behavior of makeDamage(). You can use std::for_each from standard library + lambdas: If you are uncomfortable using std::for_each, you can loop over m_attack using iterators: Use m_attack.cbegin() and m_attack.cend() to get const iterators.