Cześć, mam dwa pytania dot. pętli for w C++:
Po pierwsze: dlaczego kod:
for(auto const& x : vec1)
{
unsigned i = 0;
vec2[i] = x*2.0 + 1.0;
++i;
}
wywołuje się szybciej od tego:
unsigned i = 0;
for(auto const& x : vec1)
{
vec2[i] = x*2.0 + 1.0;
++i;
}
Różnica polega tylko na tym, że deklaracja zmiennej i
została umieszczona wewnątrz bloku pętli for
.
A drugie pytanie to czy w nowej pętli C++11 da się jakoś sprawdzić, który indeks jest obecnie wywoływany, czy muszę deklarować kolejną zmienną jak powyżej?