Hallo
Wie kann ich so etwas:
int* pStructure = new int[1];
.. während der Laufzeit noch vergrössern, ohne einen vollkommen neuen Speicherbereich zu reservieren?
Einfach so, dass die vorhandenen Daten so bleiben wie sie sind und das Array noch etwas mehr Platz hat.
Ich möchte das nach Möglichkeit ohne std::vector machen.
Schon mal Danke!
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Heute wollte ich diesen Code noch in einer Funktion kapseln.
Warum erhalte ich dort beim Aufruf von delete[] immer einen Debug Assertion Fehler? Wenn ich den Code direkt in die Main-Datei kopiere, klapp's!
// Utilities.cpp
void CUtilities::ResizeArray(int* p_iArray, int iNewSize, int iOldSize)
{
int* NewArray = new int[iNewSize];
for(int i=0;i NewArray[i]=p_iArray[i];
delete[] p_iArray;
p_iArray = NewArray;
}
// Testdatei Main.cpp
#include