Vector mit Struct durchsuchen
-
Helium schrieb:
#include <algorithm>
Trotzdem gleiche Fehlermeldung
-
Ich hätte die Fehlermeldung vielleicht vorher mal lesen soll. Hmm, versthe ich nicht.
Anders Thema: vectzor hat eine Methode push_back zum Einfügen am Ende
vec.push_back(bl); // Element am Ende hinzu
-
[quote="kingruedi"]
mit dem Functor soll schneller sein:
struct find_value { bool operator()(const blub &o) const { return o.foo==5; } }; ... std::vector<blub>::iterator i=std::find_if(vec.begin(),vec.end(),find_value());
-
der Fehler sieht merkwürdig aus. Hast du vielleicht eine sehr alte BCB Version?
ssm schrieb:
mit dem Functor soll schneller sein:
struct find_value { bool operator()(const blub &o) const { return o.foo==5; } }; ... std::vector<blub>::iterator i=std::find_if(vec.begin(),vec.end(),find_value());
Der Compiler kann die Funktion doch auch so inlinen (?)
-
Der Compiler kann die Funktion doch auch so inlinen (?)
Der BC aber mit Sicherheit nicht, wenn da kein inline steht dann inlined der nichts und über Funktionspointer kann der das schon gar nicht.
-
kingruedi schrieb:
Der Compiler kann die Funktion doch auch so inlinen (?)
nicht in diesem Fall, weil die Function über Funktionspointer aufgerufen wird.
-
*patsch* oh, klar.
-
kingruedi schrieb:
*patsch* oh, klar.
was bedeutet "*patsch*"?
-
Das er sich selbst vor den Kopf schlägt.
-
Hier wird aber find_if wharscheinlich auch geinlined und somit könnte er den Pointer auch in einen gewöhnlichen Funktionsaufruf umwandeln der dann natürlich geinlined werden kann.
-
Irgendwer schrieb:
Hier wird aber find_if wharscheinlich auch geinlined und somit könnte er den Pointer auch in einen gewöhnlichen Funktionsaufruf umwandeln der dann natürlich geinlined werden kann.
Liebe Leute,
mir ist nicht ganz klar, was hier vor sich geht. Sind Eure Beiträge ernstgemeinte Versuche hilfreiche Ratschläge zu geben oder wird uns Newbies & Co. die Gunst zuteil, einer eher seichten Konversationsrunde von C++Elfenbeinturm-Sitzern lauschen zu dürfen!? - However ...
... ich habe mich in der Zwischenzeit in comp.lang.c++.moderated rumgetrieben und dort einen Thread mit Tutorial-Charakter gelesen, der mich echt weitergebracht hat.
Diese neuen Erkenntnisse habe ich in ein kleines Beispiel-Programm (C++Builder) fließen lassen. Will mich gerne erkenntlich zeigen und dieses Programm zur Verfügung stellen. Bei Interesse bitte mailen.
Dank Euch allen.
Leo
-
Leo Freitag schrieb:
hast du das folgende gelesen?
Dennis Yelle wrote : Maybe I should stop doing other people's homework....
-
class artist_equal { char *artist; public: artist_equal( char* a) : artist(a) {} bool operator() ( const song& s) { return 0 == strcmp( artist, s.artist); } }; vector<song>::iterator i = find_if( songlist.begin(), songlist.end(), artist_equal( "cat stevens"));
einen ähnlichen Code hab ich die doch auch gegeben, wo ist dein Problem?