Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 217

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
Wie kann ich jetzt (b3110) eine komplexe Struktur auf Null setzen?
Konstrukteur mit Nullstellung.
Und wenn Sie während der Bearbeitung eine Nullstellung vornehmen wollen, gibt es auch eine zusätzliche Methode dafür:
Konstrukteur mit Nullstellung.
Und wenn Sie es während der Arbeit auf Null stellen wollen, dann gibt es dafür eine zusätzliche Methode:
Ich hätte gerne eine universelle Methode, wie sie ZeroMemory einmal erlaubt hat.
Nehmen wir an, ich habe etwas geändert - jetzt prüfe ich den 1. Term auf x[i].i == 0 (vorher war die Bedingung x[i].x == 0.0)
Ergebnis: false
Und mit ZeroMemory - wahr.
Danke, ich habe es korrigiert.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Eigenheiten von mql5, Tipps und Tricks
mktr8591, 2021.08.12 19:43
Ich habe ein Limit für ausstehende Zahlungen festgelegt. Dann ändere ich sie manuell und per Skript und ORDER_TIME_SETUP ändert sich.
Beispiel für die Änderungen.
Einstellungsprotokoll.
ORDER_TIME_SETUP wird geändert. Wanze?
Ich hätte gerne einen universellen Weg, wie ihn ZeroMemory einst ermöglichte.
Und wer wird den Puffer in der Zeichenfolge freigeben? ZeroMemory ist im Wesentlichen ein Analogon dazu.
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa366920(v=vs.85)
Es werden keine Destruktoren aufgerufen. Dementsprechend wird der Pufferzeiger in string gelöscht, während der Puffer selbst durchlässig wird. Die direkte Arbeit mit dem Gedächtnis ist wie ein Minenfeld - wenn man die Wachsamkeit verliert, war's das)))
Hier ist ein Beispiel für eine Leckage in Ihrem Fall:
Das Objekt verfügt nicht mehr über einen Zeiger auf den Puffer, sondern der Puffer selbst ist "ausgelaufen".
PS. Fuck it nicht POD-Typen auf Null durch memset und ZeroMemory
PS. Nun, es ist kein POD-Typ, der über memset und ZeroMemory nullt
Ich habe es nicht getestet, aber ich denke, der String-Puffer wird auf Null gesetzt.
Ich habe es nicht überprüft, aber ich glaube, der String-Puffer wird zurückgesetzt.
Warum sollte sie zurückgesetzt werden?)))
Es ist so erwachsen, wie es sein sollte)))
UPD: t1, t2 mit ihrer Ausgabe, damit der Compiler das Ganze nicht überoptimiert)
UPD2: Sie können delete für den Puffer aufrufen, aber ich kann nicht herausfinden, wie man es in einem Fall tun, wo String innerhalb der Struktur ist
UPD3: obwohl es in der Hilfe geschrieben ist, ist es für sie persönlich aufgerufen, so sollte es Puffer frei, ich hoffe, dass durch Zeiger auf freigegebenen Speicher bereits Daten gelesen.
Warum sollte er sich auf Null zurücksetzen?))
Es wäre gut zu sehen
Print(GetAddress(a.a));
Vorher und nachher.
Es wäre gut zu sehen
Vorher und nachher.
So sollte es auch sein. Im ersten Fall die Speicheradresse, im zweiten Fall 0
Warum sollte er sich darauf konzentrieren?)))
Hier ist alles ausgereift, so wie es sein sollte)))
UPD: t1, t2 mit ihrer Ausgabe, damit der Compiler das Ganze nicht überoptimiert)
UPD2: Sie können delete für den Puffer aufrufen, aber ich kann nicht herausfinden, wie man es in einem Fall tun, wo String innerhalb der Struktur ist
UPD3: obwohl es in der Hilfe geschrieben ist, ist es für sie persönlich aufgerufen, so sollte es den Puffer freigeben, ich hoffe, es ist durch einen Zeiger auf den freigegebenen Speicher bereits Daten gelesen.
Im Prinzip sollte alles dort recht trivial in der Umsetzung sein)