aus vector daten auslesen
-
Hallo,
weis jemand wie ich Daten aus einem Vector auslesen kann bin noch Anfänger in STL.
habe folgenden Code was muss ich hinzuschreiben
#include <vector> using namespace std; ... vector<CString> vec; vec.push_back("Name"); vec.push_back("Alter"); vec.push_back("Geburtstag"); vec.push_back("Hobbies"); // Wie kannich die Daten nun wieder auslesen ?
danke
-
void pop_back()
const_reference operator[](size_type n) const
Mehr Informationen zu vector findest du z.B. hier.Gruß
Entyl Sa
-
Hi,
Du hast 2 Möglichkeiten. 1.) std::vector hat den []-operator überladen sodass du auf die Elemente wie bei einem Array zugreifen kannst. 2.) Du benutzt nen iterator.
std::vector<std::string> vec; std::vector<std::string>::iterator it; //über vector iterieren for(it=vec.begin();it!=vec.end();it++){ //tu was //iteratoren haben den -> und * operator überladen cout<<*it<<endl; }
es gibt sogar noch ne dritte in ner schleife mit std::vector<Typ>::back() und ::pop_back ..oder eben die front-varianten
-
danke Leute es funzt jetzt
sagt mal könnt ihr mir vieleicht gute Literatur oder Links zu sites über die STL empfehlen ?
danke auch dafür
-
Und sogar ne 4., denn er kann sich das auch mit vector::at() zurückgeben lassen. Würd ich empfehlen, denn fallst das Element nicht existiert, wird eine "out of range" exception geworfen.
-
karl_heinz schrieb:
sagt mal könnt ihr mir vieleicht gute Literatur oder Links zu sites über die STL empfehlen ?
-
CarstenJ schrieb:
Und sogar ne 4., denn er kann sich das auch mit vector::at() zurückgeben lassen. Würd ich empfehlen, denn fallst das Element nicht existiert, wird eine "out of range" exception geworfen.
Ne. Für out of range Probleme hat man mit .size() die Größe des Vectors - mehr braucht man nicht.
-
Also soll man vector::at() nicht benutzen?!
-
CarstenJ schrieb:
Also soll man vector::at() nicht benutzen?!
Ich habe es noch nie verwendet...
Vorher mit size() checken ob der Zurgiff erlaubt ist, ist IMHO besser.Denn in einer Schleife weiss man ja, dass man auf einen "legalen" index zugreift - wozu also doppelt checken?
-
Da hast du natürlich Recht. Naja, auf jeden Fall wurde diese Möglichkeit der Vollständigkeit halber genannt