А вот совет Zealint очень кстати. Так и сделал. Отличное решение, лежащее на поверхности. Надо научиться думать, как программисты...
Я даже близко не программист. Как подсказывает мой опыт работы с ними, чистые программисты как раз редко что-нибудь придумывают.
Что касается советов типа ++i или i++, я бы посоветовал автору совета хорошенько протестировать кусок кода, написанный так и так, чтобы убедиться в том, что разницы никакой нет. А вместо того, чтобы слушать чужие советы, надо попытаться понять, когда копия объекта действительно играет роль. Например, когда i - это большая структура данных (а не 4 байта), с переопределённой для неё операцией i++, в этом случае, действительно, разница (да и то, наверное, не всегда) будет заметна.