Fragen zu OOP in MQL5 - Seite 75

 

die Frage ist falsch, ich kann nur die Signatur der Funktion nicht lesen

void deleteCTest(CTest * &t)

Ich kann es nicht lesen.

Ich sollte logischerweise etwas in dieser Art schreiben:

void deleteCTest((CTest *) &t)

per Referenz einen Zeiger auf einen Typ übergeben, aber der Compiler gibt Fehler mit solchen Klammern, aber zumindest verstehe ich jetzt, was die Funktion als Argumente erhalten hat ))

 
Igor Makanu:

die Frage ist falsch, ich kann nur die Signatur der Funktion nicht lesen

Ich kann es nicht lesen.

Ich sollte logischerweise etwas in dieser Art schreiben:

per Referenz einen Zeiger auf einen Typ übergeben, aber der Compiler erzeugt Fehler mit solchen Klammern, aber zumindest verstehe ich jetzt, was die Funktion als Argumente erhalten hat ))

Wäre es nicht einfacher, einfach & zu verwenden ...

Für mich ist & eine strenge Referenz

* - ist die Bezeichnung einer Variablen, in die wir die Adresse eines Verweises schreiben und mit der wir weiter arbeiten werden, daher ist es möglich, die Klasse zu ändern, während wir sie bekommen, was manchmal verwirrend ist.

der Operator * & wird selten benötigt

 
Alexandr Andreev:

Der Operator * & wird selten benötigt

ohne Zweifel

Aber ich schreibe es, ich habe gerade beschlossen, zu verstehen, was wir übergeben und was wir erhalten, wenn mit Zeigern in MQL .... mitGetPointer() arbeiten

;)

 

Für mich ist es interessanter zu schreiben Red Sortierung nach Klassen, oder ein Baum der absichtliche Sortierung, so etwas wie eine Liste, aber mit eingebauten binäre Suche auf der Liste selbst, und die Sortierung dieser Liste (im Allgemeinen, ich bin schwach in dieser Terminologie, vielleicht ist es bereits vorhanden, nur etwas genannt (ein Baum von einigen Farbe))

Zur gleichen Zeit und verstehen alles auf einmal bekommen
 
Igor Makanu:

die Frage ist falsch, ich kann nur die Signatur der Funktion nicht lesen

Ich kann es nicht lesen.

Die Logik besagt, dass ich etwas in dieser Art schreiben sollte:

void deleteCTest((CTest *) &t)

per Referenz einen Zeiger auf einen Typ übergeben, aber der Compiler erzeugt Fehler mit solchen Klammern, aber zumindest verstehe ich jetzt, was die Funktion als Argumente erhalten hat ))

Nur für den Fall - die Notation "ghost" ist bei der Funktionsdefinition irrelevant, nur beim Aufruf. Und wenn Sie & an eine Funktion übergeben, die auf * wartet, dann ist die Umwandlung nicht erforderlich.

Und laut gedacht - ich denke, ob eine solche Notwendigkeit überhaupt besteht, übergeben Sie einen Objektzeiger per Referenz und nageln Sie es in einer Drittanbieter-Funktion wieder ein.

Ich denke, das passt nicht zum Zweck der dynamischen Objekte.

Alexandr Andreev:

Für mich ist es interessanter zu schreiben Red Sortierung nach Klassen, oder ein Baum der absichtliche Sortierung, so etwas wie eine Liste, aber mit eingebauten binäre Suche auf der Liste selbst, und die Sortierung der Liste (im Allgemeinen, ich bin schwach in dieser Terminologie, vielleicht gibt es bereits, es ist nur irgendwie genannt (der Baum jemand Farbe))

Außerdem erhalten Sie einen Einblick in das, was vor sich geht

Haben Sie sich die Standardbibliothek dafür angesehen? Jeder Programmierer sollte eine Sortierung von Grund auf neu schreiben :)

 
Методы сортировки и их визуализация с помощью MQL5
Методы сортировки и их визуализация с помощью MQL5
  • www.mql5.com
В Сети можно найти ряд видеороликов с демонстрацией различных видов сортировок. Например, здесь представлена визуализация 24 алгоритмов сортировки. Это видео я и взял за основу, наряду со списком алгоритмов сортировки. Для работы с графиками в MQL5 разработана специальная библиотека Graphic.mqh. Она уже описана в статьях: в частности, здесь...
 
Igor Makanu:

keine Argumente

Aber ich schreibe es, ich habe gerade beschlossen, zu verstehen, was wir übergeben und was wir erhalten, wenn mit Zeigern in MQL .... mit GetPointer() arbeiten

;)

Es ist jedoch interessant, Sie sind seit vielen Jahren hier und ich erinnere mich an Sie von Diskussionen über OOP für eine lange Zeit, und jetzt stellt sich heraus, dass Sie nicht einmal eine Ahnung haben, wie es in MQL implementiert ist. Die Frage ist, warum haben Sie MQL Forum die ganze Zeit verwendet?)

Vielleicht verwenden Sie keine dynamischen Objekte, obwohl ich mir kaum vorstellen kann, wie man in der OOP ohne sie auskommen kann, zumal alle Standard-MQ-Bibliotheken nur an Zeiger angepasst sind.

Und das Ziel ist auch nicht sehr klar. Warum sollten Sie MQL studieren wollen, wenn Sie C# besitzen? Um sich künstlich zu Härten zu verdammen... Wissen Sie, dass .Net-Bibliotheken leicht in MetaEditor aufgenommen werden können? Obwohl nur statische Methoden zur Verfügung stehen und die Datentypen begrenzt sind. Aber für die Organisation der Kommunikation und des Datentransfers reicht es. Obwohl ich es nicht überprüft habe, ist die Integration vielleicht schon tiefer. Ich muss es mir ansehen.

 
Igor Makanu:

Glauben Sie, dass mehr als die Hälfte der Forumsteilnehmer verstehen, wie OOP in MQL funktioniert? - Ich bezweifle es, zumindest zeigen die Nachrichten selbst der alten Hasen und aktiven Teilnehmer deren Kenntnisstand über MQL

Aus diesem Grund wird die OOP meist für die Nutzung von SB verwendet,

Ich weiß nicht einmal, warum die Leute sie in ihren Robotern verwenden - das ist nur Angeberei. Höchstens Strukturen.

Semka ging mit seiner Zeichnung weg, wer braucht schon diese Zeichnung, hier kamen sie her, um Geld für sich und ihre Lieben zu verdienen, natürlich hatten die Entwickler kein Mitleid mit ihm. Peter, alles andere als Handel). die Gehirne der Programmierer mit unnötigen Funktionen zu füllen

 
awsomdino:

Klassen, Vererbung, Virtualisierung, Templates, es war sehr schwierig für mich als Autodidakt, das zu verstehen, ich habe ein wenig verstanden und OOP aufgegeben, ich kann mir gar nicht vorstellen, wie sich die Leute in ihren Robotern die Mühe machen - dass man das alles benutzen muss, das ist doch nur ein Angeber. höchstens Strukturen

hängt von der Aufgabe ab, obwohl ich im Allgemeinen zustimme - das Ziel ist nicht die Kunst, den richtigen Code im Einklang mit den aktuellen Programmiertrends zu schreiben, sondern die Möglichkeit, Geld zu verdienen

Ich habe gelernt, wie man schöne Bilder in den Tester zu zeichnen, die den Test auf die Geschichte und vorwärts passieren kann, jetzt bin ich Informationen zu sammeln, wie die Online-Handel und der Tester selbst zu kombinieren, hier brauche ich am ehesten OOP - ich will hinzufügen und löschen Strategien in Echtzeit, zu speichern und zu planen, um in der Lage sein, von PC zu PC in Echtzeit zu bewegen - nicht viel Informationen über den Status des TS, aber der übliche Weg - alles in die magische Zahl zu schreiben wird nicht funktionieren

im Allgemeinen bei der Analyse des Materials

awsomdino:

Semka ging mit seiner Zeichnung, wer braucht diese Zeichnung, hier kam das Geld, um sich und ihre Lieben zu machen, natürlich tat es ihm nicht leid für die Entwickler. Peter, alles andere als Handel). die Gehirne der Programmierer mit unnötigen Funktionen gefüllt haben

Nun, Kreativität ist interessant, und das Warm-up für den Geist ist immer notwendig, ich bin ein paar Jahren habe ich nicht an einem PC sitzen - alle völlig verwittert, dann in der Tat von Grund auf Zeug zu erhöhen, so nehmen Sie nicht alle die Kreativität der Programmierer als ihren Wunsch, etwas zu erreichen - nur Kreativität und ein Warm-up, imho, obwohl es Ausnahmen gibt - sie sehen den Punkt ;)

 
Igor Makanu:

es hängt von der Aufgabe ab, obwohl ich im Allgemeinen zustimme - das Ziel ist nicht die Kunst, den richtigen Code gemäß den modernen Programmiertrends zu schreiben, sondern eine Gelegenheit, Geld zu verdienen


Das Beispiel sollte von Saber genommen werden, ich weiß nicht, den wahren Zweck der es, aber ich habe gesehen, seine wenn sonst) Bäume dort zu bekommen, was Sie brauchen. Ich hatte eine Frage, als ich hierher kam, wie man es sofort tun, und suchen, wie man es zu implementieren, wieder lesen alles - wirklich verloren nur Zeit, es gibt keine richtige Umsetzung, haufenweise Artikel und überall seine eigene. Ich bin wirklich enttäuscht, wenn man hier im Code nicht viel versteht und an der Kreuzung von 5 Wegen steht und überlegt, welchen Weg man gehen soll. Es ist nicht einmal die Frage, ob man hier ein profitables Handelssystem findet, die Frage ist, ob man überhaupt den richtigen optimalen Weg findet) - Das ist unser lieber MQL5.