Если переменная простого типа, то компилятор генерирует оптимальный одинаковый код для обоих видов операторов. Если это экземпляр класса, например, итератор, то компилятор вызывает метод (функцию) - соответствующий перегруженный оператор. В префиксных операторах просто изменяются данные экземпляра, а в постфиксных - сначала создается копия экземпляра, изменяются данные экземпляра, а возвращается копия. Так что лучше, наверное, с классами или в обобщенном коде использовать префиксные операторы