Vektor ausgeben
-
Da fragt man sich doch, ob er nur rumtrollt oder wirklich absolut keine Ahnung hat.
-
es funktioniert, weil ich vorher nicht sage, wie viele werte in den vektor kommen, also wenn im vector 1, 2 steht ist die capacity 2. ich weiß nicht was daran falsch wäre??
ps. ich hab mich verschrieben beim dividieren, ich meinte subtrahieren
-
Zuerst entscheidest du dich mal, ob du das letzte Element oder die Größe des Vectors haben willst. Dann schaust du dir mal diese Seite an, damit du verstehst, was capacity macht (schau dir vor allem die Ausgabe von dem Beispiel an!).
-
also ich möchte die größe des vectors
ok, bin jetzt überzeugt das es nicht mit capacity geht, aber versteh auch nicht warum das in meinem code immer genau gleich groß war wie die größe (size).
-
#include <iostream> #include <vector> using namespace std; int main () { std::vector<int> v(500); cout << "size :\t\t" << v.size() <<endl; cout << "capacity :\t" << v.capacity() <<endl; cout << "max_size :\t" << v.max_size() <<endl; v.push_back(1); cout << "size :\t\t" << v.size() <<endl; cout << "capacity :\t" << v.capacity() <<endl; cout << "max_size :\t" << v.max_size() <<endl; return 0; }Edit : Ausgabe für alle, die es nicht testen wollen:
http://codepad.org/CmAKkrYD
Beim MSVC 2008 pro ist die Kapazität anschließend 750.
-
ok
aber was für einen wert stellt capacity genau dar??
-
Michael E. schrieb:
Das gibt die Größe des reservierten Speichers zurück,..
-
in was für einer einheit denn??
-
Lies den Link!
-
hab ich, find aber keine einheit!
es wird immer d´nur von der "Größe" gesprochen, hab ich was überlesen??
-
Gucky schrieb:
hab ich was überlesen??
Ja.
(Auch wenn ich mir ziemlich sicher bin, dass du uns bloß verarschen willst)
-
ok man muss lesen können...