Anfängerfrage: calloc in c++ ?



  • Hallo,
    über calloc alloziiere ich ja ein array und habe dann auch lauter Nuller im array - gibt es das für c++ auch irgendwie? Einfach nur mit new gehts ja net...
    bin natürlich schon fleißig auf der suche unter goolge etc...



  • new und std::fill schafft abhilfe



  • danke aber ist das genausoschnell? wie calloc ?



  • Mati schrieb:

    danke aber ist das genausoschnell? wie calloc ?

    Nein, wahrscheinlich nicht. "new + std::fill" könnte auf einigen Plattformen u.U. sogar schneller sein (wenn memset/calloc z.B. inline als "REP STOSB" implementiert ist), auf anderen langsamer, wenn memset/calloc hoch optimiert ist (z.B. mittels MMX/SIMD befehlen), und manche Compiler werden sowieso aus der std::fill Schleife nen memset machen (wenn sie gut inlinen und optimieren können).

    Allerdings zwischen "calloc" und "new + memset" sollte kaum ein Unterschied sein. "memset" ist zwar auch nicht sehr "C++ig", aber für doubles OK, und du kannst "new" verwenden. Würde ich der "calloc" Version vorziehen.



  • danke - klappt so wunderbar 🙂


Anmelden zum Antworten