Zieladresse des Iterators
-
Hallo,
hab bisher nochnicht viel in cpp gemacht und habe jetzt eine kleine Frage, die mir sicher jemand beantworten kann
<- hab normal mit python zu tunWürde gerne die Adresse auf die mein iterator zeigt in einen pointer schreiben, da ich nicht den kompletten Inhalt neu speichern will.
(Arbeite gerade an einem Programm, das ich nicht selbst geschrieben habe und eher an C als c++ erinnert)
folgendes Beispiel soll verdeutlichen was ich machen will, der code is jetzt nurmal schnell hingeschrieben und soll auch nicht getestet werden

vector<string> vecModels; vector<string>::iterator it; string *model; vecModels.push_back("model1"); vecModels.push_back("model2"); for(it=vecModels.begin();it < vecModels.end(); ++it){ if (*it == "model2"){ //Hier die stelle an der der iterator ist(speicheradresse im Vector) in den Zeiger model schreiben. } }ich dachte da an sowas wie
model = *itfunktioniert das ???
in meinem programm kommt dann ein fehler vonwegen convert basic_string to string*
-
So:
model = &(*it);Man sollte sich aber darüber im Klaren sein, dass der Zeiger durch diverse Operationen ungültig werden kann. push_back z.B. oder erase oder...
-
an sowas hatte ich auch schon gedacht aber war mir nicht sicher ob da das richtige bei rum kommpt... klappt alles, DANKE !!

gibts da auch ne bessere möglichkeit ? also normalerweise wird da nix gelöscht, evtl. aber etwas angehängt... gibt es eine bessere möglichkeit ?
-
Um das sagen zu können, solltest Du genauer beschreiben, was Du machen willst, bzw. wozu Du den Pointer überhaupt benötigst.
-
Hat sich erledigt, werds dann doch mit strings machen, ist nicht ganz so effizient aber genauso sicher. (Der Modellname kann nach dem einlesen nicht mehr verändert werden)
der code ist sehr lang und sequentiell aufgebaut, dauert zu lange bis ich jetzt alle wichtigen Stellen gesucht habe.
Ne idee die ich hätte wäre noch mit ids um per vector.at(x) drauf zu kommen aber das ist mir jetzt auch zu umständlich.nochmal danke, das mit den zeigern kann ich sicher trotzdem irgendwo gebrauchen

-
geine ahnung schrieb:
Ne idee die ich hätte wäre noch mit ids um per vector.at(x) drauf zu kommen aber das ist mir jetzt auch zu umständlich.
Wenn du das Problem ein bisschen genauer beschreiben würdest, könnten wir sicher eine relativ einfache Lösung finden.
