Как человек, у которого есть фон в python, я был очень удивлен, когда впервые увидел цикл for ( : )
:
vector<int> vec = {1,2,3,4};
int sum = 0;
for (int i : vec){
sum += i;
}
//sum is now 10
Это очень полезная конструкция и, вероятно, должна использоваться, когда вам не нужен индекс значения несколько раз.
Но сегодня я нашел там также цикл for each ( in )
, используемый следующим образом:
vector<int> vec = {1,2,3,4};
int sum = 0;
for each (int i in vec){
sum += i;
}
//sum is now 10
Интересно, что результаты google для второго в основном связаны с Microsoft, а не с обычными справочными сайтами С++.
Каковы различия между этими двумя циклами?