Entwickler-Ecke
Off Topic - C++ push_back
storestore - Mo 03.12.12 11:11
Titel: C++ push_back
Hey hey,
schön hier mal wieder zu schreiben :) Ich hoffe euch allen geht es gut? Mein Problem hat diesmal etwas mit c++ zu tun. Ich weiß es gehört eigentlich nicht in ein c#/Delphi forum, trotzdem dachte ich, dass sich einige damit auskennen würden.
Alos:
Bei "Vectotoren" kann man (Mehtode?) push_back(Variable) anhängen. Jetzt meine Frage, was bringt mir das genau?
Gehen wir dann mal aus ich haben einen "Vector":
Quelltext
1: 2: 3:
| vector<int> test(10); int a=10; test.push_back(a); |
habe ich dann im "Vector" 20 "Plätze" erstellt, oder hat es eine andere bedeutung?
Danke im voraus.
Mfg storestore
FinnO - Mo 03.12.12 11:21
Moin,
das fügt den Wert 10 an die oberste freie Stelle im Vektor ein.
Cheers,
Delete - Mo 03.12.12 11:25
Du allozierst zuerst mit dem Konstruktur 10 Elemente im Vektor, die alle initialisiert werden. D.h. dein Vektor hat nach dem Konstruktur die Länge 10. push_back fügt ein Element an der obersten freien Stelle im Array an. D.h. nach dem push_back hat dein Vector 11 Elemente.
Edit: Bei dem gewählten Konstruktor handelt es sich um eine Fill Variante. D.h. wenn du folgenden Quelltext kompilierst, dann gibt dir der Vektor zehn mal 42 aus:
C#-Quelltext
1: 2: 3: 4: 5:
| std::vector< int > myIntArray( 10, 42 );
for ( auto it = myIntArray.begin(); it != myIntArray.end(); ++it ) { std::cout << *it << std::endl; } |
storestore - Mo 03.12.12 12:03
Achso, also wird push_back(); verwendet um ein weiters Element anzuhängen und in den Klammern gebe ich den Wert des hinzugefügten Element an.
Danke :)
Mfg storestore
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!