malloc, new koexistent?



  • hi!

    IRGENDEIN_TYP_EINS func_eins()
    {
      irgendwas_eins = malloc ( ...
    }
    
    IRGENDEIN_TYP_ZWEI func_zwo()
    {
      irgendwas_zwei = new ...
    }
    
    int main()
    {
        free(irgendwas);
        delete irgendwas_zwei;
    

    darf man das so in der art machen?
    mfg


  • Mod

    Das ist prinzipiell erlaubt, solange du nicht new mit free oder malloc mit delete verwendest.



  • Stellt sich natürlich die Frage, ob das sinnvoll ist... meines Erachtens nicht.


  • Mod

    It0101 schrieb:

    Stellt sich natürlich die Frage, ob das sinnvoll ist... meines Erachtens nicht.

    Genau! Und deshalb auch gleich nochmal die Frage an den Threadersteller, warum er das will? New ist in C++ eigentlich immer vorzuziehen und was immer er vor hat, kann man sicherlich auf andere Weise besser machen.

    edit: Und da ich schon ahne worauf das hinausläuft: Ich habe gerade mal ein Testprogramm geschrieben, dass 100 Millionen mal 5 chars anfordert. Es lief mit malloc und new EXAKT gleich schnell.



  • SeppJ schrieb:

    edit: Und da ich schon ahne worauf das hinausläuft: Ich habe gerade mal ein Testprogramm geschrieben, dass 100 Millionen mal 5 chars anfordert. Es lief mit malloc und new EXAKT gleich schnell.

    Glaub' ich nicht 😉

    Stefan.



  • It0101 schrieb:

    Stellt sich natürlich die Frage, ob das sinnvoll ist... meines Erachtens nicht.

    Wenn man C-Code (z.B. alten) mit C++ mischt, wenn man z.B. eine C-Library in C++ verwendet.


  • Mod

    DStefan schrieb:

    SeppJ schrieb:

    edit: Und da ich schon ahne worauf das hinausläuft: Ich habe gerade mal ein Testprogramm geschrieben, dass 100 Millionen mal 5 chars anfordert. Es lief mit malloc und new EXAKT gleich schnell.

    Glaub' ich nicht 😉

    Hast mich erwischt. Innerhalb der Genauigkeitsgrenzen der Messung, was aber höchstens ein ziemlich kleiner Unterschied ist :p



  • Bashar schrieb:

    It0101 schrieb:

    Stellt sich natürlich die Frage, ob das sinnvoll ist... meines Erachtens nicht.

    Wenn man C-Code (z.B. alten) mit C++ mischt, wenn man z.B. eine C-Library in C++ verwendet.

    Gut ok. In diesen Fällen geht es nicht anders. Aber im allgemeinen C++-Alltag ist das nicht nötig. Und wer scharf auf realloc ist, kann auch STL-Templates nutzen.


Anmelden zum Antworten