Hallo zusammen.. Ihr habt mir ja empfohlen, mich ein bisschen mit Lambdas und Algorithm auseinanderzusetzen.
Eigentlich läuft das lernen auch echt gut!
In diesem Beispiel verstehe ich aber nicht, warum die letzte for schleife die 22 nicht mit ausgiebt.
Ich habe ja den Wert 22 gecaptured und mein Iterator zeigt durch " find_if" ja auf diesen Wert.
Warum gibt also die for_schleife diesen wert nicht mehr aus?
Eigentlich läuft das lernen auch echt gut!
In diesem Beispiel verstehe ich aber nicht, warum die letzte for schleife die 22 nicht mit ausgiebt.
Ich habe ja den Wert 22 gecaptured und mein Iterator zeigt durch " find_if" ja auf diesen Wert.
Warum gibt also die for_schleife diesen wert nicht mehr aus?
Code:
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
int main()
{
int array[] = { 2, 5, 9, 20, 22, 33, 30, 42, 55 };
vector <int> myVec(array, array + 9);
for (auto i : myVec)
{
cout << i << " ";
}
int a = 22;
vector<int>::iterator it = find_if(myVec.begin(), myVec.end(), [a](int b){return b == a; });
for (it; it != myVec.end(); it++)
{
cout << *it << endl;
}
cin.get();
return 0;
}