großes, dynamisches array
-
Hallo!
Ich möchte ein Programm schreiben, dass ein sehr großes char-Array in den Arbeitsspeicher legt. Bis 1 MB Größe beispielsweise. Also ca. 1 Million Bytes. Nun möchte ich mit jedem Zugriff auf das Array, das Array um ein Byte vergrößern. Wie kann ich das machen, ohne dass ich jedesmal das Array neu anlegen und das alte freigeben muss??? Es ist mir sehr wichtig, dass es im Speicher hintereinander steht, da ich mittels Zeiger durch das Array laufen können will.
Kann mir da jemand ne Hilfestellung geben?
Würde so etwas leichter mittels STL-Container sein? z.B Vector? Habe damit noch nie programmiert, aber würde es mir ggf. aneignen.Vielen Dank allen Helfenden.
cbk
-
Wie wär's, wenn Du Dir das Array gleich so groß anlegst, daß Du nicht nachlegen mußt? Ansonsten hilft Dir vector bei der Sache sicher. Allerdings kommt auch der nicht um den Kopiervorgang herum, wenn es nötig ist. Aber Du kannst ihm ja vorher mit reserve sagen wieviel Platz Du brauchen wirst.
MfG Jester
-
(etwas Off Topic)
zum Thema Kopieren sah ich letzthin dieses Proposal für den neuen Standard:
http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1377.htm
bzw. zum Thema move statt copy.
-
davie schrieb:
zum Thema move statt copy.
Seit mojo ist das ja eh kein grosses Problem mehr. Ich frage mich nur, warum niemand mojo verwendet
- schliesslich hat man damit keine unnoetigen Kopien mehr. Sicher, so gut wie ein ein Language-Feature ist es nicht, aber trotzdem simpel genug um Anwendung zu finden...
-
shared_ptr verwenden auch nicht unbedingt viele leute.
entweder es liegt am bekanntheisgrad (muss jeder programmierer alexandrescu kennen?) oder man wartet auf den nächsten standard.
-
Shade Of Mine schrieb:
davie schrieb:
zum Thema move statt copy.
Seit mojo ist das ja eh kein grosses Problem mehr. Ich frage mich nur, warum niemand mojo verwendet
- schliesslich hat man damit keine unnoetigen Kopien mehr. Sicher, so gut wie ein ein Language-Feature ist es nicht, aber trotzdem simpel genug um Anwendung zu finden...
wer oder was ist mojo??
mfg
Plassy
-
Siehe auch diverse Usenet Beitraege von Alexandrescu (ich glaube vornehmlich in comp.std.c++)