004
24.08.2006, 12:42 Uhr
Pablo
Supertux (Operator)
|
Zitat von Yadgar: |
Das würde ja heißen, dass size_t nur dann explizit angegeben werden muss, wenn new einen void-Zeiger liefern soll! Habe ich das jetzt richtig verstanden?
|
nein, size_t ist ein Datentyp wie int, eine schwächere Form von int, die nur positive Zahlen zulässt. Da man keine negative Anzahl von bytes ansprechen kann, ist es sinnvoll das Datentyp size_t anzuwenden, wenn man über die Größe des Speichers (oder eine postive Größe im allgemeinen) redet, muss man aber nicht, man kann ruhig int bzw. long nehmen.
Hier ist, was der GNU GCC macht (Auszug aus stddef.h)
C++: |
#ifndef __SIZE_TYPE__ #define __SIZE_TYPE__ long unsigned int #endif #if !(defined (__GNUG__) && defined (size_t)) typedef __SIZE_TYPE__ size_t;
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 24.08.2006 um 12:43 Uhr von Pablo editiert. |