È possibile implementare un modello singleton in MQL4. - pagina 8

 
ALXIMIKS:

Ho dimenticato l'incapsulamento. E può essere cancellato. E qui non ci sono puntatori costanti). Comunque, il singleton non è il miglior modello.

Ma almeno ci sono dei bei modelli. Per classi che probabilmente mi sognerei soltanto.


 
Scriptong:
Stavamo parlando di membri statici della classe. Inoltre, nel mio esempio m_a è un membro privato. E tali membri della classe sono accessibili solo da istanze della classe. Così, il valore della variabile non può essere cambiato da nessuna parte nel codice, tranne che all'interno delle istanze della classe. Si tratta di scrivere codice sicuro che elimina molti possibili bug futuri.


Bene, ho messo il pensiero pubblico altrimenti, rimuovendolo cambierà relativo alla statica - dall'interno della classe - niente ?!

Tuttavia,non essere in grado di dichiarare staticamente i membri della classe comporterebbe la necessità di dichiarare questi datiglobalmente nel programma.

L'argomento è rimasto senza risposta.

 
sergeev:

è la figaggine di mql che viene propagandata.

non preoccuparti della formulazione

Sembra che non ci si debba affatto preoccupare di leggere la "valorosa documentazione". Perché tutto è sbagliato. E poi qualche "intelligentone" viene fuori, come qualche post sopra e comincia a discutere. E la situazione è che sono molto attento. Se leggo che si tratta di un particolare tipo di dati, lo prendo così. Se è una svista, avrei dovuto riconoscerlo.
 
ALXIMIKS:

Qualcuno stava urlando sul singleton

Ci sono piani per estendere i modelli alle classi e all'impostazione esplicita dei parametri? Altrimenti mi incolpa e mi dice che voglio troppo.

P.S., sarebbe più corretto dichiarare laclasse SomeClass dentroSingleton (in questo caso sipuò crearesolo un'istanza diSomeClass), ma è più ovvio, anche se non corretto.


Ho già visto tutto prima. Mi chiedevo come applicarlo specificamente alla mia struttura. Non solo per vederlo copiato da qualche fonte. Posso fare anche questo)

E in generale, ho capito, su consiglio di Igor, che questo probabilmente non mi sarà utile. Quindi non parlerò più di questo schema. E per quanto riguarda la documentazione dubbia, che differisce da quella del C++, questo è ovviamente vero. Ma, di nuovo, non possiamo farci niente.

Dovremo scrivere almeno il più possibile per ora. Finché non sarà disponibile un'alternativa.

 

Caro signore, cosa c'era di sbagliato in questo post?

ALXIMIKS 03.09.2014 15:34 #
hoz:

Se le variabili di classe o di struttura non perdono i loro valori durante l'esecuzione del programma, allora perché sono dichiarate come statiche qui?

Sono nella sezione pubblica, si può dire che come nella struttura...


O siete ottusi o non siete in grado di capire, scusate la franchezza, è scritto nero su bianco:

Per esempio, abbiamo una classeCParser, destinata al parsing dei testi, e abbiamobisogno di contareil numero totale di parole e caratteri processati.È sufficiente dichiarare imembri della classe richiesticome statici e inizializzarli globalmente.Poi tutte le istanze della classeuseranno contatori comuni di parole e caratteri quando lavorano.

Dove mai c'è un riferimento a:

Le variabili di classe o di struttura perdono i loro valori in fase di esecuzione

Dice che preservando i principi OOP e non creando variabili globali, possiamo contare il numero di alcune parole con l'aiuto di un membro statico della classe,

(il membro statico della classe) è creato come una singola istanza e non dipende dal numero di oggetti creati di una data classe.

 

Come fanno gli attacchi incomprensibili alla struttura e alla classe e i problemi che ti sei inventato?

riguardano il fatto che non capite le basi dell'OOP e della durata di memorizzazione, come un concetto di assemblaggio delle proprietà delle variabili in generale?

 
ALXIMIKS:

Caro signore, cosa c'era di sbagliato in questo post?

Se non sai leggere, è un tuo problema. Ecco una citazione di ciò che chiedevo. Se ho scritto male da qualche parte o ho scritto qualcosa di sbagliato nella fretta, è perché i "ragazzi intelligenti" come te continuano a blaterare. Se sai leggere, qui c'è un link permanente a un post specifico per i particolarmente sprovvedutihttps://www.mql5.com/ru/forum/152923/page6#987432

 
Cosa c'era di sbagliato nel post ?????????????? Non so leggere, rispondi alla domanda se sai leggere)
 
struct A{
   static struct B{
      int x;
      int y;
   }Single;
};


void OnStart()
{
        A::Single.x = 5;
        Alert(A::Single.x);
}
 

Non hai capito in due giorni che la statica si comporta in modo diverso in stuct e in classe?

le strutture sembrano essere prese da c e solo un po' pompate in termini di ereditarietà,

Per quanto riguarda le classi, sono complete.

Per questo motivo, non è necessario riservare spazio per una variabile statica nelle strutture

struct A{
   static  int x;
};

ma bisogna riservare uno spazio nelle classi, altrimenti non si può:

class B{
public:
   static  int x;
};
int B::x = 0;