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.
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.