PLO. Fragen zur Anwendung - Seite 16

 
Yedelkin:

Sind die Fragen wirklich schwer/unrichtig?

Lange Zeit habe ich die erste Methode ("by reference") verwendet, aber die Idee der Deskriptoren gefällt mir sehr. Ich weiß nur nicht, ob es sich lohnt, deswegen alle Klassen umzuschreiben.

Der erste Weg würde schneller funktionieren. Der Zugang über den "Deskriptor" ist länger.
 
mql5:
Die erste Methode wird schneller funktionieren. Der Zugriff über den "Deskriptor" dauert länger.
Vielen Dank, das ist sehr hilfreich.
 

Ein Anhaltspunkt,

Wenn eine übergeordnete Klasse 15 Methoden hat, die untergeordnete Klasse jedoch eine eigene Methode hat und nur drei von der übergeordneten Klasse geerbte Methoden verwendet, wie wird dann der Speicher für die untergeordnete Klasse zugewiesen: auf der Grundlage der Notwendigkeit, Speicher für 16 Methoden zuzuweisen, oder auf der Grundlage von nur 4 tatsächlich verwendeten Methoden?

Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5
 
Yedelkin:

Können Sie mir einen Tipp geben?

Du füllst deinen Kopf mit den falschen Dingen.)
 
Yedelkin:

Ein Anhaltspunkt,

Wenn eine übergeordnete Klasse 15 Methoden hat, die untergeordnete Klasse jedoch eine eigene Methode hat und nur drei von der übergeordneten Klasse geerbte Methoden verwendet, wie wird dann der Speicher für die untergeordnete Klasse zugewiesen: auf der Grundlage der Notwendigkeit, Speicher für 16 Methoden zuzuweisen, oder auf der Grundlage von nur 4 tatsächlich verwendeten Methoden?

Der Speicher des Objekts wird für Daten, nicht für Methoden zugewiesen. Alle Methoden (d.h. Funktionen) werden in einer einzigen Instanz im ausführbaren Code gespeichert
 
stringo:
Der Speicher eines Objekts wird nicht den Methoden, sondern den Daten zugewiesen. Alle Methoden (d.h. Funktionen) werden in einer einzigen Instanz im ausführbaren Code gespeichert
Ich glaube, ich habe es. Wenn dieselbe Methode der übergeordneten Klasse in 10 verschiedenen untergeordneten Klassen verwendet wird, wird sie dennoch in einer einzigen Instanz im ausführbaren Code gespeichert.
 

Die Suche funktioniert nicht. Vielleicht wiederhole ich mich, aber die Frage ist: Kann sich ein Klassenobjekt selbst zerstören? D.h. zuerst erhalten wir einen Verweis des Objekts auf sich selbst in der Klasse Objekt mit dem reservierten Wort this, dann wenden wir den Löschoperator auf den entsprechenden Objektdeskriptor (Zeiger) an.

Etwa so:

pointer=GetPointer(this);
delete pointer;

Oder ist es besser/vorzuziehen, ein Objekt "extern" statt "intern" zu löschen?

 
GetPointer liefert einen Zeiger eines nicht löschbaren Typs. Das Objekt kann sich nicht selbst löschen. Und das ist richtig :)
 
Yedelkin:

........: Kann sich ein Klassenobjekt selbst zerstören? Das heißt, wir erhalten zunächst einen Verweis auf das Objekt selbst in der Klasse object unter Verwendung des reservierten Worts this, dann wenden wir den Löschoperator auf den entsprechenden Objektdeskriptor (Zeiger) an.

Selbstmordgedanken sind ein sicheres Zeichen dafür, dass die Situation in einem zu engen Kontext betrachtet wird).

Ich habe eine Gegenfrage: Von wo aus wollen Sie all diese Dinge aufrufen? Schreiben Sie ein praktischeres Beispiel, damit Sie den Ausführungsfaden in Ihrem Programm sehen können. Wie werden Sie das Objekt ansprechen?

Lassen Sie mich das erklären. Wenn das Objekt statisch (globale Ebene) oder automatisch (im Stapel) ist, brauchen wir es nicht zu adressieren. Das ausführende System beseitigt sie automatisch, wenn sie benötigt wird.

Wenn das Objekt jedoch dynamisch ist, bedeutet dies, dass es eine externe Referenz hat, die beim Löschen auf Null gesetzt werden sollte.

Es gibt keine anderen Möglichkeiten.

 
MetaDriver:

Selbstmordgedanken sind ein sicheres Zeichen dafür, dass man die Situation in einem zu engen Kontext betrachtet :)

...
Können Sie mir beibringen, wie man solche Schimpfwörter sagt? :о)
Grund der Beschwerde: