Здравствуйте, seejay, Вы писали:
S>Не могу понять, почему для int* порядок вычисления аргументов оператора == один, а для структуры другой.
Компилятор имеет право выбирать любой порядок вычислений операндов оператора==.
S> if (&pi == &++pi)
Тут ты сравниваешь адрес переменной pi с адресом переменной pi. Невероятно, но адрес переменной не зависит от её значения. Такое условие будет истинно всегда, независимо от выбранного порядка.