Funktion ähnlich realloc() für C++



  • Hi!

    Für C++ gibt es ja die funktion new(), die man zusammen mit delete anstatt malloc() und free() verwenden kann.

    Gibt´s da auch etwas wie realloc(), um vorhandene Speicherbereiche zu vergrößern?

    MfG

    Matg40



  • Nein, gibt es nicht.
    Aber tu dir selbst einen Gefallen, und verwenden einfach std::vector.



  • meines wissens nach nicht, versuch es mit templates (vector, list, usw. ) ansonsten größeres array erzeugen und umkopieren.

    ioch lass mich da gern eines besseren belehren ^^



  • Hi!

    Ich habe unter Windows CE auf dem Gerät keinen Namespace std (wie es scheint)...

    Leider kann ich auch keine zusätzlichen Libraries einfügen...

    MfG

    Matg40



  • örm ... das haöt ich fürn gerücht, es gibt soweit ich weis win CE kompatible compiler für windoof XP und Co. wenn du den spass dann richtig compiliert hast können dir de libs glaube egal sein.



  • Also meines Wissens hat der VC embedded (der für CE halt) schon eine STL dabei. Kann aber leicht sein dass die dort nicht im Namespace std lebt, sondern einfach im Global Namespace. Was aber nicht arg stören sollte.

    Natürlich kannste es auch selber programmieren, ein vector macht auch nix anderes als nen neuen, grösseren Block anzufordern, dann alles dort rüber zu schaufeln (copy-ctor), und den alten Block dann freizugeben (dtor vorher aufrufen).

    Da im Normalfall realloc sowieso auch nix anderes macht... ist das IMHO auch nicht so tragisch.


Anmelden zum Antworten