Si può sapere se questo è un comportamento corretto o meno, in cui la sequenza di inizializzazione dei campi di una struttura/classe dipende dalla disposizione reciproca dei campi e non dalle voci dopo il costruttore?
struct A
{
int Count;
A() : Count(0) {}
};
struct B : public A
{
int i, j; // Единственная строка, отличающая от C.
B() : i(this.Count++), j(this.Count++) {}
};
struct C : public A
{
int j, i; // Единственная строка, отличающая от B.
C() : i(this.Count++), j(this.Count++) {}
};
voidOnStart()
{
B b;
Print(b.i); // 0Print(b.j); // 1
C c;
Print(c.i); // 1Print(c.j); // 0
}
L'aspettativa era di inizializzare da sinistra a destra, come specificato nel costruttore.
C() : i(this.Count++), j(this.Count++) {}
Ma si è scoperto che l'inizializzazione va dall'alto verso il basso per campi. E la sequenza di inizializzazione specificata dopo il costruttore non è importante. È corretto?
fxsaber #: Si prega di indicare se questo è il comportamento corretto o meno, in cui la sequenza di inizializzazione dei campi di una struttura/classe dipende dalla disposizione reciproca dei campi e non dalle voci dopo il costruttore?
L'aspettativa era di inizializzare da sinistra a destra come specificato nel costruttore.
Ma si è scoperto che l'inizializzazione va dall'alto verso il basso per campi. E la sequenza di inizializzazione specificata dopo il costruttore non è importante. È corretto?
Perché gli sviluppatori scrivono una guida così dettagliata se poi nessuno la legge? Suggerisco di semplificare la guida a una frase: Chiedete al forum - vi aiuteranno!
Perché gli Sviluppatori scrivono una guida così dettagliata se poi nessuno la legge!!!? Propongo di semplificare la guida a una frase: Chiedete sul forum - vi aiuteranno!
Quando lo schema per trovare la risposta a una domanda nella guida sarà chiaro, ricorrerò meno spesso alla guida del forum.
Quando capirò lo schema per trovare la risposta alla domanda nella guida, userò meno spesso il forum.
In "Tipi di dati" -> "Strutture e classi".
Nell'elenco di inizializzazione, i membri possono essere inseriti in qualsiasi ordine, ma tutti i membri della classe saranno inizializzati secondo l'ordine della loro dichiarazione.
Nell'elenco di inizializzazione, i membri possono andare in qualsiasi ordine, ma tutti i membri della classe saranno inizializzati secondo l'ordine in cui sono stati dichiarati.
Grazie. Purtroppo non è sempre chiaro dove e come cercare.
Ho riscontrato una cosa molto spiacevole nel lavoro degli indicatori (MT5 e MT4). Gli eventi bloccano il lavoro del timer. Non esiste una cosa del genere in Expert Advisor. Ancora una volta mi convinco che non ha senso utilizzare indicatori in cui è richiesto un lavoro stabile del timer. Questo è particolarmente vero per le interfacce reattive.
Ecco un indicatore che dimostra questo problema, in cui il timer è impostato su 20 millisecondi e il tempo tra gli eventi del timer viene visualizzato se supera i 100 millisecondi.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Si tratta di un risultato interessante.
È strano che non sia ancora stato risolto:
Forum sul trading, sui sistemi di trading automatico e sulla verifica delle strategie di trading
Bug, bug, domande
A100, 2020.08.01 05:42
Errore durante l'esecuzione:Result: OnStart::unnamed#00000216656562DC80::f<ulong>
Atteso: OnStart::f<ulong>
Limitazione del compilatore.
Si tratta di un difetto evidente: credo che il compilatore dovrebbe già chiamare un'équipe medica per questo tipo di codice.
È ipoteticamente possibile immaginare parentesi in macro annidate in tale quantità, ma non parentesi graffe.L'aspettativa era di inizializzare da sinistra a destra, come specificato nel costruttore.
Ma si è scoperto che l'inizializzazione va dall'alto verso il basso per campi. E la sequenza di inizializzazione specificata dopo il costruttore non è importante. È corretto?
Si prega di indicare se questo è il comportamento corretto o meno, in cui la sequenza di inizializzazione dei campi di una struttura/classe dipende dalla disposizione reciproca dei campi e non dalle voci dopo il costruttore?
L'aspettativa era di inizializzare da sinistra a destra come specificato nel costruttore.
Ma si è scoperto che l'inizializzazione va dall'alto verso il basso per campi. E la sequenza di inizializzazione specificata dopo il costruttore non è importante. È corretto?
Perché gli sviluppatori scrivono una guida così dettagliata se poi nessuno la legge? Suggerisco di semplificare la guida a una frase: Chiedete al forum - vi aiuteranno!
Perché gli Sviluppatori scrivono una guida così dettagliata se poi nessuno la legge!!!? Propongo di semplificare la guida a una frase: Chiedete sul forum - vi aiuteranno!
Quando lo schema per trovare la risposta a una domanda nella guida sarà chiaro, ricorrerò meno spesso alla guida del forum.
Quando capirò lo schema per trovare la risposta alla domanda nella guida, userò meno spesso il forum.
Grazie. Purtroppo non è sempre chiaro dove e come cercare.
Grazie. Purtroppo non è sempre chiaro dove e come cercare.
Ho riscontrato una cosa molto spiacevole nel lavoro degli indicatori (MT5 e MT4).
Gli eventi bloccano il lavoro del timer.
Non esiste una cosa del genere in Expert Advisor.
Ancora una volta mi convinco che non ha senso utilizzare indicatori in cui è richiesto un lavoro stabile del timer. Questo è particolarmente vero per le interfacce reattive.
Ecco un indicatore che dimostra questo problema, in cui il timer è impostato su 20 millisecondi e il tempo tra gli eventi del timer viene visualizzato se supera i 100 millisecondi.
Forum sul trading, sui sistemi di trading automatico e sulla verifica delle strategie di trading
Nuova versione di MetaTrader 5 build 3490: versione mobile del terminale web e nuovi metodi di matrice in MQL5
Ilyas, 2022.10.18 10:12 AM
Pensando di aggiungere classi/strutture per gli oggetti