Я использую 'ii' и 'jj' для счетчиков переходных циклов, если они мне действительно нужны - их легче искать, чем 'i' и 'j', а также легче заметить в примерах, подобных приведенному выше. Чтобы пойти лучше, вы можете использовать настоящее имя переменной. Если вы зацикливаетесь на строке, вы можете назвать ее CharacterIndex или что-то в этом роде. Он больше печатает, но документирует сам себя и экономит время на отладку непонятных проблем позже.
Еще лучше было бы избежать числовых счетчиков и использовать именованные итераторы над коллекцией. Они делают намерение более ясным, по моему мнению.
Наконец, если это возможно, желательно покончить с циклом полностью: Boost :: Foreach - это один из способов сделать это в C ++, хотя я обычно предпочитаю использовать такие языки, как Python, которые изначально позволяют прямой итерация содержимого контейнера без необходимости увеличения значения индекса или итератора.