While you are correct, many companies are now just transitioning into C++11, so knowing this will be relevant for the next decade at least.
But why is that bad?
Because `i` isn't an int, it's an initializer_list, and you almost never want to actually create an initializer_list instead of an int? Seems pretty understandable to me.
It's unexpected. Nobody ever* wanted to assign an initializer list to a named variable.