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
Generell sollten wir davon ausgehen, dass globale Variablen böse sind, und wenn eine solche Variable in vielen Dateien verwendet wird und von überall aus geändert werden kann, dann ist sie böse im Quadrat! Daher sollten solche Variablen immer als konstant deklariert werden (es sei denn, es handelt sich um Hilfsvariablen zu Debugging-Zwecken, die die Logik des Algorithmus nicht beeinflussen).
Der Extern-Spezifizierer wird benötigt, wenn das Projekt aus mehreren mq5-Dateien besteht (nicht zu verwechseln mit mqh). In diesem Fall ist es sinnvoll, globale Variablen in einer separaten Datei zu deklarieren. Wenn das Projekt aus mqh besteht und mit #include gebaut wird, wird extern nicht benötigt, da es sich um eine Datei handelt, die in mehrere Dateien aufgeteilt ist.
Beispiel benötigt wird, habe ich versucht, extern in Bibliotheken zu verwenden - es funktioniert nichthttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
Beispiel benötigt wird, habe ich versucht, extern in Bibliotheken zu verwenden - es funktioniert nichthttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
Hier, im zweiten Fall, brauchen Sie extern, was die globalen Variablen in den Geltungsbereich verschiedener Dateien bringen würde.
Ich habe nichts dagegen, aber ich brauche ein Beispiel, hier können Sie erraten, wo Sie extern verwenden - ich habe es in der Bibliothek versucht, es hat nicht funktioniert, zeigen Sie mir, wie Sie extern verwenden
Es ist nicht für Bibliotheken, sondern für Projekte gedacht. Das Projekt kann entweder auf #include gebaut werden oder mehrere mq5-Dateien erstellen. Im zweiten Fall wird extern benötigt, um globale Variablen in den Geltungsbereich verschiedener Dateien zu bringen.
Der springende Punkt ist, dass sich extern einfach als unnötig erwiesen hat. Eine in einer beliebigen Projektdatei global deklarierte Variable ist in allen ihren Dateien verfügbar. Aber warum? Frage an die Ersteller.
Sie können eine externe Variable in allen *.mqh-Dateien deklarieren, in denen sie verwendet wird.
Solche *.mqh-Dateien sind dann nicht von der *.mq5-Datei (oder einer anderen *.mqh-Datei) abhängig, in der die globale Variable deklariert ist.
Auf diese Weise können Sie die Dateien in anderen Projekten verwenden und die Wiederverwendung von Code erhöhen.
Sie können externe Variablen in allen *.mqh-Dateien deklarieren, in denen sie verwendet werden.
Solche *.mqh-Dateien sind dann nicht von der *.mq5-Datei (oder einer anderen *.mqh-Datei) abhängig, in der die globale Variable deklariert ist.
Auf diese Weise können Sie die Dateien in anderen Projekten verwenden und die Wiederverwendung von Code erhöhen.
Danke, jetzt verstehe ich die Logik. Ursprünglich dachte ich, es sei ähnlich wie extern in C++.
Ist es nicht ähnlich?