Ist es möglich, ein Singleton-Muster in MQL4 zu implementieren. - Seite 6

 
ALXIMIKS:


Sie sind entweder begriffsstutzig oder begriffsstutzig, entschuldigen Sie, dass ich das so offen sage, schwarz auf weiß geschrieben:

Neeeeein... Du bist der Lahmarsch!
Und warum? Weil Sie nicht lesen können.

Und jetzt werde ich zitieren:

ALXIMIKS:

Es besagt, dass wir unter Wahrung der OOP-Prinzipien und ohne globale Variablen zu erstellen, die Anzahl einiger Wörter mit statischen Klassenmitgliedern berechnen können,

es(statisches Klassenmitglied)wird als einzelne Instanz erstellt und ist nicht davon abhängig, wie viele Objekte der Klasse erstellt werden.

Ich brauche das Gleiche, nur von einer Struktur. Oder ist es schwer zu verstehen? Wie oft wurde die Frage gestellt, inwiefern sich die Struktur von der Klasse unterscheidet, und wie oft wurde geantwortet, dass es fast nichts ist. Es gibt nur sehr wenige Unterschiede. Zumindest ist es in C++ so. Ich habe diese Frage einmal in einem Forum gestellt, in dem es viele Fachleute gibt. Es stellt sich die Frage, warum es hier einen solchen Unterschied gibt.

Ich habe von Anfang an gesagt, dass ich diese Variablen in einer einzigen Instanz brauche. Oder ist es schwer zu lesen?

hoz:

Lassen Sie mich wiederholen, was ich brauche. Es gibt eine Struktur, deren Mitglieder ihre Werte zur Laufzeit speichern müssen, aber wenn auf eine Methode einer beliebigen Klasse, die diese Struktur verwendet, zugegriffen wird, können die Mitglieder geändert werden. Ich verstehe, dass sie statisch sein müssen. Diese Mitglieder sollten sich in einer einzigen Instanzbefinden . Die Elemente dieser Struktur werden von vielen Klassen und auch vom Expert Advisor selbst verwendet.

" Klugscheißer " Merken Sie den Unterschied? P.S. ROT HERVORGEHOBEN.
 

Zur Dokumentation der Klassenunterscheidung und -struktur lesen Sie. Nochmals für die "Klugscheißer"ALXIMIKS hier:

Klassen unterscheiden sich in einer Reihe von Punkten von Strukturen:

  • Das Schlüsselwort class wird in der Deklaration verwendet;
  • Standardmäßig haben alle Klassenmitglieder den Zugriffsspezifizierer private, sofern nicht anders angegeben. Die Standardzugriffsart für Strukturmitglieder ist öffentlich, sofern nicht anders angegeben;
  • Klassenobjekte haben immer einevirtuelle Funktionstabelle, auch wenn keine virtuellen Funktionen in der Klasse deklariert sind. Strukturen können keine virtuellen Funktionen haben;
  • der Operatornew kann auf Klassenobjekte angewendet werden; auf Strukturen kann dieser Operator nicht angewendet werden;
  • Klassen können nur von Klassenerben; Strukturen können nur von Strukturen erben.

Gibt es etwas über Statik?

 

Victor, das ist doch was! :-(

Es wurde Ihnen bereits mehrmals gesagt, wie und was Sie tun sollen.

Warum fangen Sie nicht an, sich damit zu beschäftigen?

 
Da ist es doch besser, Galle zu spucken und zu schreien, dass Hunderte von Idioten auf der Gegenfahrbahn unterwegs sind.
 
Lesen und Hoffen auf einen Screenshot des Musters (?).... für eine Sammlung...
 
hoz:

Öffnet die Dokumentation hier und sieht das:

Wenn Klassen- oder Strukturvariablen ihre Werte zur Laufzeit nicht verlieren, warum werden sie dann hier als statisch deklariert?

Sie sind im öffentlichen Bereich, man kann sagen, wie in der Struktur...

zurück zu den Schafböcken.

Was wollen Sie?

 
sergeev:

Was wollen Sie?



Lesen des Manus:

Diefehlende Möglichkeit, Klassenmitglieder statisch zu deklarieren, würde dazu führen, dass dieseauf der globalen Programmebenedeklariert werden müssten.

Wir sprechen über Klassen und Strukturen. Nach dem zu urteilen, was ich oben geschrieben habe, gibt es laut der Dokumentation einen Unterschied zwischen einer Klasse und einer Struktur, aber es geht eindeutig nicht darum, ob man den statischen Modifikator verwenden kann oder nicht.

Отсутствие возможности объявлять статически члены класса привело бы к необходимости объявлять эти данные на глобальном уровне программы.

Gibt es so etwas? Ja, es gibt sie!

Wir gehen weiter:

Dies würde die Beziehung zwischen den Daten und der zugehörigen Klasse aufheben und widerspricht auch dem grundlegenden OOP-Paradigma der Kombination von Daten und Methoden in einer Klasse, um sie zu verarbeiten. Ein statisches Mitglied ermöglicht es, dass Klassendaten, die nicht spezifisch für eine einzelne Instanz sind, im Geltungsbereich der Klasse existieren.

Da ein statisches Klassenmitglied instanzunabhängig ist, lautet der Verweis darauf wie folgt

class_name::variable

Ich muss Folgendes tun. meine Strukturmitglieder waren instanzunabhängig.

Ich habe dies in Analogie zum Unterricht getan. Siehst du?

 
hoz:

Ich benötige, dass die meine Strukturelemente waren nicht von einer Instanz der Struktur abhängig.


Struktur A
{
int v;
};

statische A a;


?

 

Warum etwas tun? Erstellen Sie ein globales Klassenobjekt und das war's. (oy-yo-yo-yo - Strukturen, dann wird man wieder etwas von sich selbst verstehen und angreifen)

Vorteile:

1) weniger Text

2) mehr Tragbarkeit

3) Wenn Sie plötzlich ein anderes Objekt benötigen, gibt es keine Verbote für dessen Erstellung

4) möglicherweise eine große Menge an Daten, aber das ist eine Frage für die Entwickler.

Nachteile:

1) Ich mag es nicht, wenn man sich auf Felder über den Objektnamen bezieht, ich möchte es über statisch, versteht mich alle.

 
sergeev:


Struktur A
{
int v;
};

statische A a;


?

Warum wird dies nicht für Klassen gemäß der Dokumentation getan? Warum wird jedes Mitglied herausgenommen und hinter der Klasse initialisiert?
Grund der Beschwerde: