Co oznacza taki zapis pętli for?

Odpowiedz Nowy wątek
2014-12-20 11:31
0

Co oznacza taki zapis pętli for?
Jak długo bedzie się wykonywała?

 for(auto d : p)

Pozostało 580 znaków

2014-12-20 11:47

Pętla wykona się dla każdego elementu.

for(auto dit = p.begin(); dit != p.end(); ++dit){
    auto d = *dit;
   //od tego momentu wszystko wygląda tak samo jak w przypadku ""for(auto d : p){}""
}

Pętla ta nosi nazwę for_each

Demonstracja:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
 
int main(){
    vector<int> v = {1, 2, 3};
    for(auto it = v.begin(); it != v.end(); ++it)
        cout << *it << " ";
    cout << endl;
 
    for(auto element : v)
        cout << element << " ";
    cout << endl;
 
    for_each(v.begin(), v.end(), [](int element){
        cout << element << " ";
    });
    cout << endl;
    return 0;
}
edytowany 8x, ostatnio: spartanPAGE, 2014-12-20 16:01

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0