Fehler, Irrtümer, Fragen - Seite 1648
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Funktioniert so nicht die aktuelle 0?
Im Allgemeinen herrscht hier eine große Verwirrung, da wir die tatsächliche Größe des zugewiesenen Speichers für das Array nicht kennen, um ihn zu überprüfen und zu optimieren.
Wenn ich mich richtig an die Erklärung erinnere, wird die Größe der Reserve auch dann nicht verringert, wenn ihr ausdrücklich eine kleinere Zahl zugewiesen wird.
Falsch. Nach dem Beispiel in der Hilfe zu urteilen, funktioniert 0 tatsächlich als 0, und der Vorschlag -1 ist dann sehr sinnvoll.
Und ich werde meinen Vorschlag zu ArrayResize wie folgt umformulieren: wenn reserve_size=-1 angegeben wird, darf die Funktion die für das Array zugewiesene Speichergröße nicht verändern, wenn der Parameter size innerhalb dieses Bereichs liegt. Wenn size > capacity, wird der Puffer natürlich wachsen.
Die Logik für die Arbeit mit zugewiesenem (bedingtem) Code:
Im Array ("inside") wird gespeichert, wie viele Elemente dem Array zugewiesen sind.
Die Logik der Arbeit mit zugewiesenem (bedingtem) Code:
Ich verstehe, danke. Und am Anfang ist diese Zuordnung gleich -1, oder nicht? D.h. beim ersten Aufruf von ArrayResize(arr, 0, 100) wird die Zuordnung sein?
Ist diese Zuweisung am Anfang gleich -1 oder nicht?
D.h. wenn ArrayResize(arr, 0, 100) anfänglich aufgerufen wird, wird die Zuordnung erfolgen?
Die Zuweisung erfolgt nur, wenn sich die Größe des Arrays nach oben ändert. In diesem Fall ändert sich die Größe des Arrays nicht, da sie gleich 0 war.
Der Unterschied ist, dass im ersten Fall kein Fehler auftritt :)