was sagt der standard zu T* = new T[0]
-
weiss jemand was dabei rauskommen sollte//muss?
Null-Pointer, undefiniert?
-
das hab ich auch mal gefragt, weis aber die antwort nich mehr;)
-
weder null-zeiger noch undefiniert.
zurückgegeben wird ein einmaliger (nicht-null) zeiger auf ein array mit keinen elementen.
du kannst mit diesem zeiger alles machen, was du willst; bloß nicht dereferenzieren.
-
das wird dir liefern, was auch immer
void* ::operator new(size_t)
dir gibt, wenn du ihm eine 0 gibst. Und der Standard schreibt vor, dass er auch dann einen legitimen Zeiger liefert (Meyers macht das in effective C++, indem er statt 0 bytes 1 byte alloziiert)