Generische Klassenbibliothek - Bugs, Beschreibung, Fragen, Nutzungsmöglichkeiten und Vorschläge - Seite 24
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
Frage zum Abrufen eines Wertes aus einem Schlüssel. Im Bibliothekscode sieht diese Methode wie folgt aus
Ja, dieser Code kann irreführend sein, da i in for nicht standardmäßig neu zugewiesen wird.
Zunächst greifen wir auf das Unterarray über seinen Index zu, der unseren Wert enthalten kann:i=m_buckets[hash_code%m_capacity];(d. h. i Index des Unterarrays oder des Wertebins).
Dann wird im selben for der Index des Ablagefachs in den Index der Ablageposition umgewandelt:i=m_entries[i].next
In der Tat ist der Code korrekt geschrieben, da in einem typischen Fall jedes Unterarray im Durchschnitt ein Element enthält und die Schleife im Durchschnitt nur einmal ausgeführt wird.
Ja, dieser Code kann irreführend sein, da i in for nicht standardmäßig neu zugewiesen wird.
Zunächst greifen wir auf ein Unterarray über seinen Index zu, der unseren Wert enthalten kann:i=m_buckets[hash_code%m_capacity];(d.h. i Index des Unterarrays oder Wertekorbs).
Dann wird im selben for der Index des Lagerplatzes in den Index des Lagerplatzes umgewandelt:i=m_entries[i].next
In der Tat ist der Code korrekt geschrieben, da in einem typischen Fall jedes Unterfeld im Durchschnitt ein Element enthält und die Schleife im Durchschnitt nur einmal ausgeführt wird.
Ich verstehe, dass die Schleife für Kollisionen gedacht ist: um die Mini-Liste zu durchlaufen.
Ich gehe davon aus, dass die Schleife für Kollisionen gedacht ist: um eine Mini-Liste zu durchlaufen.
Ja, absolut richtig.
Verwendung der Vorlagenbibliothek(CArrayList) zur Speicherung benutzerdefinierter Typen. Der Eindruck ist nicht gut. Der Einfachheit halber habe ich Makros geschrieben
Übermäßiges Foolproofing in TryGetValue und die Unmöglichkeit, Klassen nach Wert zu übergeben, machen die Verwendung schmerzhaft.
Sagen Sie mir, vielleicht verstehe ich etwas nicht, aber wenn ich versuche, eine Konstruktion dieser Art zu verwenden:
Ich erhalte eine Fehlermeldung:
Option' - Objekte werden nur per Referenz übergeben ICollection.mqh 14 18
Und dann gibt es noch eine ganze Reihe von Fehlern...Sagen Sie mir, vielleicht verstehe ich etwas nicht, aber wenn ich versuche, eine Konstruktion dieser Art zu verwenden:
Ich erhalte eine Fehlermeldung:
Option' - Objekte werden nur per Referenz übergeben ICollection.mqh 14 18
und dann gibt es einen ganzen Stapel von Fehlern...Versuchen Sie es so:
Versuchen Sie es auf diese Weise:
Die Übergabe/Speicherung von Zeigern auf eine Sammlung ist konzeptionell falsch.
Die Übergabe/Speicherung von Zeigern auf eine Sammlung ist konzeptionell falsch.
Es gibt keine Generika für MQL, die auch nur annähernd geeignet ist. Alle haben schwerwiegende Fehler. Verwenden Sie ein eingebautes Array, es wird Ihnen weniger Kopfschmerzen bereiten.
Es gibt keine Generika für MQL, die auch nur annähernd geeignet ist. Alle haben schwerwiegende Fehler. Verwenden Sie ein eingebettetes Array, es wird Ihnen weniger Kopfschmerzen bereiten.
Nun, ja, ich habe ein Array verwendet. Warum sollte man Sammlungen erstellen und in kodobase einpflegen, wenn sie nur für eingebaute Typen geeignet sind?)