Speicherreservierung für Arrays und sehr große Variable
-
BigJ schrieb:
1. Wie kann ich Speicher für ein sehr großes Array reservieren?
Nimm
std::vector
. Wenn kein genügend grosser Block frei ist (std::bad_alloc
), nimmstd::deque
.BigJ schrieb:
2. Gibt es einen wirklich großen Variablentyp?
Nicht in Standard-C++, aber du kannst eine Bibliothek (BigInteger oder so) verwenden.
-
Danke für die Antwort
Das mit dem Heap hab ich gecheckt (also zumindest wie ich es anwenden muss)Bei der Variable nicht:
So viel Speicher braucht ne Variable doch nicht, auch keine long long, dass dafür mein Arbeitsspeicher die Begrenzung wäre (Korrigiert mich wenn ich da falsch liege). So groß, dass das der Fall wäre muss sie auch wieder nicht seinAlso weiß da jemand ne Möglichkeit?
-
Nexus hat bereits eine genannt. Eine BitInteger Klasse, wie du sie z.b hier findest:
http://www.gmplib.org/
-
Schau dir meinen Post an... Und verwende kein
new
, wenn nicht absolut nötig. Für dynamische Arrays ist es alles andere als nötig, dazu habe ich bereits bessere Alternativen genannt.
-
Wie hab ich std::vector bzw. std::deque anzuwenden?
-
Hi BigJ,
wollte dich nicht verwirren...
Wie mein Edit 5 Sekunden vor deinem Post zeigt, hatte ich es fehl interpretiert.
Ich dachte du wolltest eine größere Variable um mit dem Wert ein großes array anzulegen.Gruß,
CSpille
-
Ach ja, ich brauche kein dynamisches Feld. Es soll lediglich sehr viele Elemente, deren Anzahl aber von Anfang an feststeht, besitzen können.
-
Achso... nein, die beiden Fragen sind eigentlich unabhängig voneinander, ich dachte nur ich mach beides in einen Post.
-
BigJ schrieb:
Wie hab ich std::vector bzw. std::deque anzuwenden?
http://www.lmgtfy.com/?q=std%3A%3Avector+example
Erster Treffer:
http://www.codeguru.com/cpp/cpp/cpp_mfc/stl/article.php/c4027/
-
Siehe vielleicht auch den Artikel
Aufbau der STL – Teil 1: Container