#include #include /// Beware! Undefined behavior lurks within. void double_repeat(std::vector& v) { for (int& each: v) { each *= 2; v.push_back(each); } } void print_ints(const std::vector& v) { for (int each: v) std::cout << each << " "; std::cout << "\n"; } int main () { std::vector v{1, 2, 3, 4, 5}; double_repeat(v); print_ints(v); } // Program output is: // // 2 2 3 4 5 2 4 6 8 10 // // Why?