vector<int> wek{0,1,2,3,4,5,6,7,8,9,10,11};
Wiem, że
for (auto x = wek.begin(); x < wek.end(); x++) (*x)++;
inkrementuje kolejne elementy wektora.
A co robi:
for (auto x = wek.begin(); x < wek.end(); x++) *x++;
?
vector<int> wek{0,1,2,3,4,5,6,7,8,9,10,11};
Wiem, że
for (auto x = wek.begin(); x < wek.end(); x++) (*x)++;
inkrementuje kolejne elementy wektora.
A co robi:
for (auto x = wek.begin(); x < wek.end(); x++) *x++;
?
*(x++)
Swoją drogą, przy nieparzystej liczbie elementów masz tu UB.
Zgadza się. Dziękuję za natychmiastową odpowiedź.
Najwyraźniej używasz C++11
, więc powinieneś skorzystać z range-based for loop
, czyli:
for (auto& x : wek) x++;