Войти
Подсказки

Preincrement VS Postincrement

Автор:

Рассмотрим простой цикл:

for ( sametype i = 0; i < 100; i++ )
{
  //...
}

на каждом шаге, этого цикла, значение i увеличивается на единицу, НО прежде чем это сделать, компилятор создает временную переменную, в которой  сохраняет значение i и после инкремента возвращает его. Для целых чисел это не накладно, но для пользовательских типов это дороговато. Этого можно избежать, заменяя постинкремент на преинкримент, всегда, когда это возможно.

for ( sametype i = 0; i < 100; ++i )
{
  //...
}

1 декабря 2003