Я начинаю на C++. Я понимаю, что: -Приращение ++ i, i ++ и i + = 1
i ++ выполняется в первую очередь, затем increment, ++ i сначала увеличивается, а затем выполняет, i + = 1 увеличивается на 1, а затем выполняет. Но в цикле FOR:
for (i=0;i<10;i++)
for (i=0;i<10;++i)
В этих двух циклах на самом деле нет никакой разницы.
Вот еще один, чтобы вычислить сумму всех целых чисел от 1 до 100:
int i=1, sum=0;
while (i<=100)
{
sum+=i;
i++; //i+=1; ++i;
}
cout<<sum<<" "<<i<<endl;
return 0;
Но если я заменю я ++ с I + = 1 или ++ я, все они возвращают сумму 5050 и я из 101. Так что я действительно не вижу в них никакой разницы.
Так может кто-нибудь объяснить это мне? Какой из них больше всего используется в программировании? Спасибо!!
«i ++ выполняется в первую очередь, затем increment, ++ i - это инкремент сначала, а затем выполнение, i + = 1 - увеличение на 1, а затем выполнение» - опасно неправильно. 'i ++' is "increment и оценивать исходное значение"; нет описания того, что происходит «первым». – user2357112
@ user2357112 Действительно, за исключением случаев, когда эти операторы перегружены, так как 'operator ++' должен возвращаться до того, как выражение можно считать оцененным. Вот почему часто требуется предварительное увеличение/уменьшение - нет необходимости создавать копию исходного объекта. – bcrist