PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++]realloc?


Gast
2006-11-03, 03:45:46
Früher unter C konnte man ein dynamisches Array mit bereits allozierten Speicher mit Hilfe von realloc in seiner Größe verändern. Wurde C++ um diese Funktionalität downgegradet?
malloc wurde durch new ersetzt, free durch delete, aber für realloc gibt's offenbar nichts.
Sicher, man kann zwar einfach einen STL-vector benutzen und auf dessen push_back() oder resize()-Methoden zurückgreifen, aber was wenn man das nicht tun will/kann?
Außerdem stellt sich die Frage, wie die Entwickler der STL das hinbekommen haben? Hatten die Zugang zu Funktionalitäten, die dem normalen C++ Programmierer nicht zur Verfügung gestellt wurden?
Daß die einfach gemogelt und das realloc aus C benutzt haben, kann ja nicht sein, weil dann würden ja, wenn die Elemente, um die der vector durch resize() vergrößert wird, Objekte sind, deren Konstruktor nicht aufgerufen werden.

Gast
2006-11-03, 07:37:18
schau dir mal realloc intern an. Das ist meist nur ein malloc() free()