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
Es gibt keine Zeiger hier) Es ist ein Handle für die Klasse, und die Arbeit mit ihm ist ähnlich wie die Arbeit mit einem Zeiger, aber das ist, wo die gemeinsame Basis endet.
Mein neugieriger Geist und meine ungezogenen Hände haben mich zwei Tage und zwei Nächte lang verfolgt
Ich habe versucht, dynamisch erstellte Objekt aus dem Geltungsbereich zu entfernen - in der Funktion, tastend Methode, aber schließlich habe ich die Lösung:
das es löscht, aber ich kann es nicht so herausfinden.... und ich habe keine ähnlichen Funktionssignaturen für die Übergabe der Zeiger gefunden
Hier ist eine weitere Frage:
Wie kann ich als Ergebnis einer Funktion einen Zeiger auf ein Objekt per Referenz zurückgeben?
Ich möchte etwas in dieser Art machen:
es ist möglich, CTest * ohne Probleme zurückzugeben, aber wie ich schrieb ret_CTest() - es gibt einen Fehler
Zwei Tage und zwei Nächte hielten mich mein wissbegieriger Geist und meine frechen Hände auf Trab
versucht, dynamisch erstellte Objekt aus dem Geltungsbereich zu entfernen - in der Funktion, Bauchgefühl-Methode, aber schließlich bekam die Lösung:
das es löscht, aber ich kann es nicht so herausfinden.... und ich konnte keine ähnlichen Funktionssignaturen für die Übergabe von Zeigern in der Hilfe oder sat finden
Was meinen Sie damit, dass es außerhalb des Geltungsbereichs liegt? Sie haben es an eine Funktion übergeben, also ist es dort sichtbar.)
s.s.void deleteCTest(CTest* &t) ohne das & sollte auch funktionieren, oder?
Um sie wirklich außerhalb des Bereichs, in dem sie erstellt wurde, und möglicherweise automatisch zu entfernen, müssen Sie ... Pssst... bevor es jemand hört... Pattern Factory... schneller lesen und löschen...
Igor Makanu:
aber wie kann man als Ergebnis einer Funktion einen Zeiger auf ein Objekt per Referenz zurückgeben?
Sie können CTest * ohne Probleme zurückgeben, aber wie ich schrieb ret_CTest() - es gibt einen FehlerWenn eine Klasse einen Kopierkonstruktor hat, dann sollte sie auch einen Kopierkonstruktor haben.
s.w.void deleteCTest(CTest* &t) ohne dies & sollte auch funktionieren, oder nicht?
Schau es dir an, du wirst etwas Neues lernen ;)
Ich habe schon oft geschrieben, dass die MQL-Zeiger eine sehr lehrreiche Sache sind ))))
Wenn Sie koscher wollen, noch nicht, aber wenn ja:
Wenn Sie einen Zeiger verwenden wollen, muss die Klasse einen Kopierkonstruktor haben.
Nochmals, ich muss nachdenken
Ich habe den Verdacht, dass GetPointer() einige Tricks anwenden kann... aber es ist keine Tatsache.... Diese "Sprünge durch Raum und Zeit" - über Zeiger und implizite Dereferenzierung in MQL - sind für mich nicht mehr nachvollziehbar! (((
Schau es dir an, du wirst eine Menge lernen ;)
Ich habe schon oft geschrieben, dass Zeiger in MQL eine sehr lehrreiche Sache sind ))))
Es löscht Zeiger, kann aber _test keinen neuen Wert zuweisen. Übrigens, MQL hat nichts damit zu tun)))
Schau es dir an, du wirst eine Menge lernen ;)
Ich habe Ihnen immer wieder gesagt, dass Zeiger in MQL sehr lehrreich sind ))))
Nochmals, ich muss nachdenken
Ich habe den Verdacht, dass GetPointer() einige Tricks anwenden kann... aber es ist keine Tatsache.... Diese "Sprünge durch Raum und Zeit" - über Zeiger und implizite Dereferenzierung in MQL - sind für mich nicht nachvollziehbar! (((
Es ist alles in Ordnung hier)))) Schalten Sie einfach die Schärfe ab, hier gibt es nicht einmal einen Hauch davon))))
Schau es dir an, du wirst eine Menge lernen ;)
Ich habe Ihnen immer wieder gesagt, dass Zeiger in MQL sehr lehrreich sind ))))
Ich habe es überprüft. Es löscht gut ohne &)
Ich habe es in MT4 und MT5 versucht und vergleiche )
Gut geprüft. Es löscht perfekt ohne &)
Ich habe es in MT4 und MT5 versucht und vergleiche )
Kein vollständiges Beispiel, ich bin heute darauf gestoßen.
Es wird nicht ohne & funktionieren.
Mir geht es gut hier))) Ich bin nicht auf der Suche nach scharfen Gegenständen, aber ich bin sicher, dass es auch ohne geht &)).
Ich bin nicht auf der Suche nach Sharp, ich bin immer noch im Umgang mit MQL, kann ich fragen, was ich nicht verstehe.
kein vollständiges Beispiel, ich bin heute darauf gestoßen.
es wird nicht so funktionieren ohne &
kein vollständiges Beispiel, habe ich heute gefunden
es wird nicht ohne & funktionieren
Meiner Meinung nach hat das nichts mit Referenzen zu tun, sondern nur mit der Tatsache, dass das Funktionsargument per Zeiger übergeben werden muss, wenn der Wert nach der Ausführung der Funktion gespeichert werden soll. Das Gleiche passiert zum Beispiel mit einem Datei- oder Indikator-Handle, die keine Referenzen sind.
Das war schon immer der Standard in C++, auch wenn ich mich nicht mehr genau daran erinnern kann.