Рассмотрим следующий (тривиальный) сегмент кода:
while (i++, i <= 10) {
// some more code
}
В общем случае С++ разрешает вычислениям, разделенным запятыми, в любом порядке. В случае цикла while мы, по крайней мере, гарантируем (по спецификации), что последний оператор (который используется как условие для цикла) оценивается последним?