vector+lookup



  • Ja, das wäre eine Möglichkeit.
    Nur:
    Ich müsste dann ja wieder für die Map, wenn ich mich recht erinnere, schon wieder eine Vergleichsroutine implementieren, auf Basis derer festgelegt werden kann, wie die ContentObjekte in der sortierten Liste angeordnet werden sollen.
    ==> die Katze steht wieder auf den alten Beinden!

    Grüße,
    TS++

    [ Dieser Beitrag wurde am 16.06.2003 um 15:45 Uhr von TS++ editiert. ]



  • sehe ich das recht, daß du dinge mit == vergleichen willst, ohne nen operator == anzubieten?



  • In den meisten Fällen passiert ja noch was zwischen dem Vergleich und dem return.

    In solchen Fällen mag das was anderes sein, aber um solche Fälle ging es hier nicht. Zumindest sieht mir die Frage (samt Code) nicht danach aus.

    Außerdem bin ich schlechter Theoretiker, sondern eher fürs Proaktische.

    Und das heißt was? Nur weil man eher für das Praktische ist, heißt das ja nicht, dass alles theoretische irrelevant wird. Und nur weil du fürs praktische bist, wird meine Aussage nicht weniger richtig.
    Und das an meiner Aussage ausnahmsweise mal was wahres dran ist sieht man vielleicht daran, dass S. Dewhurst in seinem Buch "C++ Gotchas" in Item 7 hnliches bemerkt.

    Wenn ich hier im Forum poste, wie theoretisch etwas geht sind immer millionen von schwächen, etc. drin.

    Das Gefühl habe ich keinesfalls. Aber wenn dann mal was etwas unglcklich ist, darf man dann nicht mehr darauf hinweisen?



  • @Volkard:
    Ich wollte ja auch einfach nur wissen, ob noch eine andere Möglichkeit besteht festzulegen, wie in einem Vector archivierte ContentObjekte miteinander verglichen werden.( Aber du siehst ja, es läuft mittlerweilen eine ganz andere Diskussion im aktuellen Thread )
    Bei der HashMap von SGI gibt's ja auch die Möglichkeit beim Erzeugen der HashMap explizit den Typen eines Funktionsobjekts anzugeben, das einen überladenen Operator zu Vergleichszwecken enthält.

    Aber offensichtlich hab ich beim 'vector' zusammen mit 'find()' wirklich nur die eine Möglichkeit, in meinen ContentObjektKlassen den "=="-Operator zu überladen.

    Grüße,
    TS++



  • In den meisten Fällen passiert ja noch was zwischen dem Vergleich und dem return.

    In solchen Fällen mag das was anderes sein, aber um solche Fälle ging es hier nicht. Zumindest sieht mir die Frage (samt Code) nicht danach aus.

    Das ist eben die Macht der gewohnheit. Sorry. Ich versuch mich zu bessern.

    Außerdem bin ich schlechter Theoretiker, sondern eher fürs Proaktische.

    Und das heißt was? Nur weil man eher für das Praktische ist, heißt das ja nicht, dass alles theoretische irrelevant wird. Und nur weil du fürs praktische bist, wird meine Aussage nicht weniger richtig.
    Und das an meiner Aussage ausnahmsweise mal was wahres dran ist sieht man vielleicht daran, dass S. Dewhurst in seinem Buch "C++ Gotchas" in Item 7 hnliches bemerkt.

    Also das an deinen Aussagen etwas wahres dran ist ist sicherlich nicht die Ausnahme, sondern eher die Regel (bitte jetzt nicht das Sprichwort zitieren).

    Wenn ich hier im Forum poste, wie theoretisch etwas geht sind immer millionen von schwächen, etc. drin.

    Das Gefühl habe ich keinesfalls. Aber wenn dann mal was etwas unglcklich ist, darf man dann nicht mehr darauf hinweisen?

    Auch wenn es scheinbar nicht so rüberkommmt, lasse ich mich gerne kritisieren. Dafür komme ich doch grade in's Forum. Oh, und danke für die Belobigung.



  • Original erstellt von TS++:
    Aber offensichtlich hab ich beim 'vector' zusammen mit 'find()' wirklich nur die eine Möglichkeit, in meinen ContentObjektKlassen den "=="-Operator zu überladen.

    wenn du meinst...
    also vorher drängt sich ja noch ein find_if nebst prädikat, was ein komparator mit deinem suchobjekt gebunden ist.
    aber über so sachen rede ich nicht gerne.



  • Original erstellt von volkard:
    aber über so sachen rede ich nicht gerne.

    Aber warum denn nicht? Wir sind doch hier unter uns! 😉
    Immer raus damit!

    Grüße,
    TS++

    [ Dieser Beitrag wurde am 18.06.2003 um 08:17 Uhr von TS++ editiert. ]



  • etwa so:

    struct finder {
      bool operator()(const cType& content) {
        // dann hier eben mit dem entsprechenden Objekt vergleichen
      }
    };
    vector<cType>::iterator iter=find_if(vector.begin(),vector.end(),finder());
    

    Was ist daran schlecht, volkard?



  • Original erstellt von C14:
    Was ist daran schlecht, volkard?

    sogar eher ...,finder(toFind));
    ich sagte nicht, daß es schlecht ist.



  • Danke für eure Hilfe!
    "find_if" ist genau die Alternative nach der ich gesucht habe!

    Grüße,
    TS++

    [ Dieser Beitrag wurde am 18.06.2003 um 15:17 Uhr von TS++ editiert. ]


Anmelden zum Antworten