Wer sagt das ein deklarierter String mit einen leeren String allokiert werden muss?CSHW89 hat geschrieben:Es ist kein Bug, sondern eine Design-Entscheidung.
Ihr könnt es ja als Wunsch im englischen Forum posten. Aber wundert euch nicht, wenn folgender Code länger dauert als gedacht:Wenn es nach euch geht, werden hier doppelt so viele String allokiert, als nötig. Erst 1000000 leere Strings, und dann 1000000 Strings mit der entsprechenden Zahl.Code: Alles auswählen
Dim a.s(1000000) For i = 0 To 1000000 a(i) = Str(i) Next
Der Zeit overhead ist zwar minimal, aber in 99,99% der Fälle komplett unnötig.
lg kevin
Wie Du sagtest: es ist eine Design Entscheidung seitens PureBasic Team gewesen, leider nicht sauber durchgedacht. Aktuell ist es eben nicht richtig ein deklarierte String Variable (die ja einen Pointer auf Null hat = nicht alloziert) zu behandeln als wenn es eine deklarierte und definierete leere Stringvariable ("") ist zu behandeln.
@Stargate, CSHW89 und alle ungläubigen

Hier noch ein konkretes Beispiel um zu zeigen wie es gemeint ist, es geht eigentlich nur um den Debugger der hier keine Fehlermeldung bringt:
Code: Alles auswählen
Debug @""
Debug @mystring
Debug mystring ; <<<<<<<< Hier müsste der Debugger meckern weil die Variable noch nicht deklrariert ist (Kein Wish sondern ein echter Bug)
http://www.purebasic.fr/english/viewtop ... =4&t=46390