calloc Aequivalent
-
Hallo,
gibt es in C++ ein Aequivalent zu 'calloc', d.h., eine Speicherzuweisung, die den Speicher gleichzeitig auf 0 setzt? Wenn nicht, gibt es einen Grund, weswegen es sowas nicht gibt?
Danke.
-
tim_g schrieb:
Hallo,
gibt es in C++ ein Aequivalent zu 'calloc', d.h., eine Speicherzuweisung, die den Speicher gleichzeitig auf 0 setzt?Ja, nennt sich
calloc.Wenn nicht, gibt es einen Grund, weswegen es sowas nicht gibt?
Danke.Wozu sollte man das brauchen? Will man Objekte mit 0 initialisieren, so nimmt man new mit einem entsprechenden Konstruktor (oder besser gleich einen std::vector, wenn man mehrere Objekte als Array haben will). Wenn man aus irgendeinem Grund den Konstruktor von Objekten umgehen will, macht man ohnehin low-levelige Sachen und kann daher auch gleich calloc benutzen.
-
SeppJ schrieb:
Ja, nennt sich
calloc.std::calloc, wenn man es zu genau nimmt
@tim_g,
Für dynamische Arrays kann man in C++ sowieso gleichstd::vectornehmen, da ist die Initialisierung auch schon drin. Und falls dies ein zu grosser Overhead darstellt (wieso auch immer, denn gross ist er überhaupt nicht), dann arbeitet man im Low Level Bereich und dort ist die Initialisierung zu Beginn womöglich gar nicht gewünscht. Ansonsten kann man eben auchstd::callocverwenden.Grüssli
-
SeppJ schrieb:
Wenn man aus irgendeinem Grund den Konstruktor von Objekten umgehen will, macht man ohnehin low-levelige Sachen und kann daher auch gleich calloc benutzen.
Oder einen passenden
operator newgefolgt von std::fill oder memset...