wie stellt man einen vector iterator nach außen zur verfügung



  • Irgendwer schrieb:

    Da muss ich widersprechen. Du schreist nicht begin() sondern vec.begin(), da vec ein Container ist, fallen "fange an" oder "setze den anfang" weg da sie in diesem Kontext Schwachsinn sind.

    ist in deinem kontext einleuchtend. aber bei mir nicht, da getBegin() und getEnd() nicht häufig benutzte methoden sind.
    fast alle verwendungen fallen schonmal durch FOREACH weg. und die übrigen fliegen zum größten teil, weil ich auch gleich die algos der stl reimplemetiere, daß sie statt iteratorpaaren gleich objekte des typs iteratorpaar (bei mir noch namens Range) nimmt. fast immer will ich nämlich den ganzen vector ausgeben/sortieren/durchsuchen..., da hat mich das getippe von begin() und end() schon immer genervt.

    Und auch wenn ich jetzt wahrscheinlich gekreuzigt werde aber ich finde, dass oft benutzte Befehe auch nicht eindeutige Namen haben dürfen. Sonst hat man nur umso mehr Tiparbeit und schrecklich unlesbar lange Zeilen.

    ich suche halt den komplizierteren ausweg. 😉

    edit: habe bezüglich Range auch noch ein dickes problemchen: bei char str[]="hello"; FOREACH(i,makeRange(str,str+5)) will ich immer *(str+x) sehen, bei FOREACH(i,makeRange(0,100)) winn ich immer auf (str+x) ohen * zugreifen. da stimmt was nicht. sollte erstere sorte eher Sequence heißen? oder gibst doch nen weg, die beiden sorten Range als eigentlich gleich aufzufassen?



  • aber das was ich zuletzt habe, passt ja oder wie?
    cu surf.


Anmelden zum Antworten