2017-12-06 2 views
0

Dies ist eine sehr grundlegende zufällige Frage, die ich hatte, aber keine Antworten hier oder online gesehen. Wenn wir ein dynamisches Array erstellen, setzen wir es auf einen bestimmten Speicherort im Speicher. Ist es möglich, ein Array zu erstellen, das für diesen Speicherplatz zu groß ist? Wenn ja, wie wird damit umgegangen? Wird das von C++ automatisch erledigt oder müssen wir es selbst machen?Dynamische Arrays und Speicher

Ich lerne verknüpfte Listen und ich weiß, dass wir jeden Knoten an einen Speicherort setzen. Aber Bei der Verwendung eines Arrays, setzen wir nicht jedes Element auf einen Speicherort, wir setzen nur das gesamte Array.

+1

(a) Dynamische Array sehen können behandelt werden. Der Code ist mehr als 1000 Worte wert, die ihn beschreiben. (b) Sogar dynamisch zugewiesene Sachen haben eine ** feste ** Größe. – StoryTeller

+0

'Array, das zu groß für diesen Speicherplatz ist', Wie ist das möglich? Wir definieren die Array-Größe während der Deklaration oder Initialisierung, so dass wir genau wissen, wie viel Speicher benötigt wird. Auch wenn wir nicht die kompletten Array-Elemente verwenden, ist der Speicher bereits reserviert. – Pratham

Antwort

0

Wenn Sie std :: vector für diese dynamische Arrays verwenden, dann wird es automatisch, wenn Sie in der mehrere Dinge bedeuten könnte reference