do {
std::cout << "*****\n****\n***\n**\n*\n"
} while (0);
If a side effect on a scalar object is unsequenced relative to either another side effect on the same scalar object or a value computation using the value of the same scalar object, the behavior is undefined.и даже показывает пример с практически таким же кодом: i = v[i++]; // the behavior is undefined
#include <fstream>
int main()
{
std::ofstream of("out.txt", std::ios::in | std::ios::out | std::ios::binary);
of.seekp(3, std::ios::beg);
of << 'x';
}
Перезапишет 4й байт в файле