Die Grenzen eines Vectors...
-
int hat bei mir die Standardgröße wie auf jedem anderem 32 bit system. (4 Bytes)
-
Und wie kommst du dann darauf, das 32 Bit nur 32767 ist? Also bei mir sind 32 Bit über 4 Mrd. in Dezimal. Verwechselst du int nicht mit short bzw. unsigned short?
-
hm... stimmt ja. ich hab das dann wohl mit short int verwechselt....
-
Und somit müsste der Vector theoretisch grenzenlos sein.
-
wieso grenzenlos ?
-
DEvent schrieb:
wieso grenzenlos ?
theoretisch grenzenlos
-
artchi meinte wohl pratisch grenzenlos
-
DEvent schrieb:
wieso grenzenlos ?
Grenzenlos im Sinne von "Grenze im Normalfall praktisch unerreichbar".
-
DEvent schrieb:
wieso grenzenlos ?
Naja, du kannst ja mal 4 Mrd. (4.000.000.000) Elemente (sagen wir mal Strings) in einen Vector packen. Mal schauen was ein 4 GByte RAM ausgestatteter PC sagen würde? Du würdest die 4 Mrd. nicht mal annähernd erreichen.
Verstehste jetzt was ich damit sagen wollte?
Die anderen jedenfalls schon. Obwohl... ddddd hat schon recht: praktisch grenzenlos.
-
ist weder theo noch praktisch grenzenlos
-
doch, praktisch schon
-
DEvent schrieb:
ist weder theo noch praktisch grenzenlos
Wie willst du denn die Grenze erreichen? Selbst wenn du ein vector<char> machst, kann dein Prozessor gerade mal so viel Speicher adressieren, wie du Elemente haben kannst. Aber es gibt noch andere Dinge in deinem Programm, die Speicher fressen. Der Vector ist also nicht die Grenze, sondern der Prozessor. Für 64 Bit Prozessoren gilt das in gleicher Weise weil dort sizeof(std::size_t) == 8.
-
das meinte ich ja was optimizer sagt.
ach lassen wir das, führt ja doch zu nix...