Да, потому что вы перегружаете POST -инкрементный оператор здесь.Следовательно, исходное значение может много использоваться в коде, копироваться и храниться где-то еще, несмотря на существование нового значения.Пример:
store_length_somewhere( len++ );
Хотя len
будет увеличено, исходное значение может быть сохранено функцией где-то еще.Это означает, что вам могут понадобиться два разных значения одновременно.Отсюда создание и возврат нового значения.