Yeah I wouldn't like this in a code review. Add one more line of code so I don't have to investigate foo().
That's my fundamental gripe with C++
int i = 0;
function_0(i,...);
...
function_9(i,...);
which one changes i? It's not obvious in a code review due to default mutable references.