@ Марк: я удалил свой предыдущий ответ, потому что это было немного перевернуто, и заслужил понижение за это одно. Я на самом деле думаю, что это хороший вопрос в том смысле, что он спрашивает, что думают многие люди.
Обычный ответ таков: ++ я быстрее, чем i ++, и, без сомнения, так и есть, но главный вопрос - «когда тебя это волнует?»
Если доля процессорного времени, потраченного на инкрементные итераторы, составляет менее 10%, то вам может быть все равно.
Если доля процессорного времени, затрачиваемого на инкрементные итераторы, превышает 10%, вы можете посмотреть, какие операторы выполняют эту итерацию. Посмотрите, можете ли вы просто увеличивать целые числа, а не использовать итераторы. Скорее всего, вы могли бы, и хотя это может быть в некотором смысле менее желательно, шансы довольно хороши, вы сэкономите практически все время, проведенное в этих итераторах.
Я видел пример, когда увеличение итератора потребляло более 90% времени. В этом случае переход к целочисленному приращению сокращает время выполнения по существу на эту величину. (т.е. лучше, чем 10-кратное ускорение)