realloc für C++
-
Geiler Allgemeinplatz. Und warum ist es gerade an der Stelle beschränkt? So richtig nachvollziehbar find ich das nicht. Das einzige was mir einfiele: In C++ sind Heap-Allokationen wesentlich häufiger als in C, und wenn, dann werden eher kleine Objekte alloziert. Dadurch ist es sehr unwahrscheinlich, dass eine reallocate Funktion den Block tatsächlich vergrößern kann, so dass in den meisten Fällen umkopiert werden muss. Was man dann doch besser selbst machen kann.
Aber wahrscheinlich hängt das vom Allokator ab, warum sollte es nicht denkbar sein, dass eine reallocate-Funktion sinnvoll implementiert werden kann?
-
Danke erstmal!
Wisst ihr, wo ich eine Dokumentation zur STL finden kann?
Könnt ihr ein Buch empfehlen?
-
http://www.research.att.com/~bs/bs_faq2.html#renew
Wisst ihr, wo ich eine Dokumentation zur STL finden kann?
schau dir doch mal meinen Link an
-
Hallo
guck mal hier
http://www.msoe.edu/eecs/ce/courseinfo/stl/index.htm#WhatIs
http://www.ccd.bnl.gov/bcf/cluster/pgi/pgC++_lib/stdlibcr/cr1.htmgruß elwida
-
kingruedi schrieb:
in C++ nimmt man für Arrays std::vector
Aber doch bestimmt nicht für alle Arrays oder? Ist das nich n bißchen übertrieben?
Das gleiche bei std::string, muss man ja auch nicht wirklich immer benutzen, bei kleineren Sachen beispielsweise ist das doch auch etwas zu viel des Guten.
-
Phillemann schrieb:
Aber doch bestimmt nicht für alle Arrays oder? Ist das nich n bißchen übertrieben?
ne, nur für dynamische sachen. für statische sachen nimmt man eine eigene klasse.
die muss man sich aber selber schreiben.
-
Warum ist bei kleineren Sachen std::string "zu viel des Guten"?
Direkt die nächste Frage: Was sind für dich "kleinere Sachen"?
-
cd9000 schrieb:
Warum ist bei kleineren Sachen std::string "zu viel des Guten"?
Direkt die nächste Frage: Was sind für dich "kleinere Sachen"?ich tippe da auf arrays mit fixer groesse.
und warum da dynamische container zuviel des guten sind, sollte klar sein.wenn mit klein die datenmenge gemeint ist, ist std::vector natuerlich eine gute wahl.
-
Für arrays mit fester Grösse braucht man auch kein realloc... weil realloc ja dazu da ist um die Grösse zu ÄNDERN und es damit kein array mit fester grösse mehr ist und dadurch wieder in die Kategorie vectorgeeignet fällt.
-
Shade Of Mine schrieb:
für statische sachen nimmt man eine eigene klasse.
die muss man sich aber selber schreiben.Das klingt mir sehr nach einem Dogma.