Diskussion zum Artikel "MQL5 beherrschen, vom Anfänger zum Profi (Teil III): Komplexe Datentypen und Include-Dateien"
Ich bin ein Anfänger, der die Grundlagen der Programmierung erlernt hat . Ich habe Ihren nächsten Artikel gelesen und bin zu dem Schluss gekommen, dass ein Anfänger ohne jegliches Wissen nichts von diesem Artikel verstehen wird. Dies ist meine persönliche Meinung und erhebt nicht den Anspruch, in letzter Instanz die Wahrheit zu sein.
Nehmen wir den Abschnitt " Strukturen" des Artikels als Beispiel. Der Anfang ist gut und klar genug. Sie haben erklärt, wozu die Struktur dient, und gezeigt, wie man sie erstellt. Und dann: Peng, und neuer Code!
IntradayTime dealEnterTime; dealEnterTime.hours = 8; dealEnterTime.minutes = 15; dealEnterTime.timeCodeString = "GMT+2";
Ich habe diesen Teil des Codes absichtlich hervorgehoben. Was soll ein Anfänger mit Nullkenntnissen von dieser Zeile verstehen? Was ist das für ihn? Ich verstehe es schon, aber für einen Anfänger ohne Kenntnisse ist es ein weiteres unverständliches Codefragment. Deshalb ist es wünschenswert, jede Zeile zu beschreiben und vollständig zu erklären. Sonst stellt sich heraus, dass dieser Artikel nicht für Anfänger, sondern für fortgeschrittene Programmierer ist.
Mit freundlichen Grüßen, Vladimir.
Ich bin ein Anfänger, der die Grundlagen der Programmierung erlernt hat . Ich habe Ihren nächsten Artikel gelesen und bin zu dem Schluss gekommen, dass ein Anfänger ohne jegliches Wissen nichts von diesem Artikel verstehen wird. Dies ist meine persönliche Meinung und erhebt nicht den Anspruch, in letzter Instanz die Wahrheit zu sein.
Nehmen wir den Abschnitt " Strukturen" des Artikels als Beispiel. Der Anfang ist gut und klar genug. Sie haben erklärt, wozu die Struktur dient, und gezeigt, wie man sie erstellt. Und dann: Peng, und neuer Code!
Ich habe diesen Teil des Codes absichtlich hervorgehoben. Was soll ein Anfänger mit Nullkenntnissen von dieser Zeile verstehen? Was ist das für ihn? Ich verstehe es schon, aber für einen Anfänger ohne jegliche Kenntnisse ist es ein weiteres unverständliches Codefragment. Deshalb ist es wünschenswert, jede Zeile zu beschreiben und vollständig zu erklären. Ansonsten stellt sich heraus, dass dieser Artikel nicht für Anfänger, sondern für fortgeschrittene Programmierer gedacht ist.
Mit freundlichen Grüßen, Vladimir.
Liegt es nur an mir - oder ist es genau diese Struktur, die ich drei Zeilen zuvor erstellt habe? Und vor zwei Zeilen habe ich erklärt, dass es sich um einen Datentyp handelt? Und das sollte bedeuten, dass dieser Typ genauso verwendet werden sollte wie alle anderen? (Wirklich, hier sollte Logik im Spiel sein, ja ;-))
Obwohl du wahrscheinlich recht hast, würde ein Kommentar zum Typ zumindest nicht schaden.... Danke!
myVariable.b = 10; //Es ist in Ordnung, man kann es auch so machen
Bei der Kompilierung tritt ein Fehler auf. Können Sie mir bitte sagen, was falsch ist, wo der Fehler liegt?
myVariable.b = 10; //Es ist in Ordnung, man kann es auch so machen.
Ich erhalte einen Fehler beim Kompilieren. Können Sie mir bitte sagen, was falsch ist und wo der Fehler liegt?
Entschuldigen Sie die Verzögerung bei der Beantwortung.
Der Code in diesem Beispiel ist nicht ganz vollständig. Damit es funktioniert, müssen Sie die Variable myVariable irgendwo innerhalb der Funktion verwenden. Zum Beispiel:
class PrivateAndPudlic { private: int a; public: int b; }; PrivateAndPudlic myVariable; // Globale Variable void OnStart(){ // Alle Aufrufe von Aktionen (in diesem Fall Zuweisungen) dürfen nur innerhalb von Funktionen erfolgen //meineVariable.a = 5; //Compilerfehler! myVariable.b = 10; //Es ist okay, es ist okay }
Nun, Sie haben die Klammer beim Nachdrucken umgedreht (Sie haben das schließende "}" anstelle des öffnenden "{" ) ;-)
Entschuldigen Sie die Verzögerung bei der Beantwortung.
Der Code in diesem Beispiel ist nicht ganz vollständig. Damit es funktioniert, müssen Sie die Variable myVariable irgendwo innerhalb der Funktion verwenden. Zum Beispiel:
Nun, Sie haben die Klammer beim Ausdrucken umgedreht (statt des öffnenden "{" setzen Sie das schließende "}" ein) ;-)
Nun, oder wie im Artikel beschrieben:
void OnStart(){ class PrivateAndPudlic { private: int a; public: int b; }; PrivateAndPudlic myVariable; //meineVariable.a = 5; //Compilerfehler! myVariable.b = 10; //Es ist okay, es ist okay }
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel MQL5 beherrschen, vom Anfänger zum Profi (Teil III): Komplexe Datentypen und Include-Dateien :
Dies ist der dritte Artikel in einer Serie, in der die wichtigsten Aspekte der MQL5-Programmierung beschrieben werden. Dieser Artikel behandelt komplexe Datentypen, die im vorherigen Artikel nicht behandelt wurden. Dazu gehören Strukturen, Unions, Klassen und der Datentyp „function“. Außerdem wird erklärt, wie Sie Ihr Programm mit Hilfe der Präprozessoranweisung #include modularisieren können.
In diesem Artikel werde ich beschreiben, wie ein Programmierer komplexe Datentypen erstellen kann:
Der Artikel beschreibt auch, wie man externe Textdateien mit der Präprozessoranweisung #include einbindet, um sicherzustellen, dass unser Programm modular und flexibel ist. Ich möchte Sie daran erinnern, dass Daten auf verschiedene Arten organisiert werden können, aber der Compiler muss immer wissen, wie viel Speicher unser Programm benötigt, und deshalb müssen die Daten vor ihrer Verwendung durch die Angabe ihres Typs beschrieben werden.
Autor: Oleh Fedorov