Consider this program fragment:
std::vector<int> v = { 0, 0 };
int i = 0;
v[i++] = i++;
std::cout << v[0] << v[1] << endl;
My question is not what it might print under today’s C++ rules. The third line runs afoul of two different categories of undefined and unspecified behavior.
Rather, my question is what you would like the result to be. Please let me know.