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