Sui grafici (in particolare EURUSD) con timeframes mensili e settimanali il mirino si muove molto lentamente seguendo il cursore - basta muovere il cursore dolcemente in diagonale per giocare. Va bene in altri tempi. Non c'è stato un tale ritardo prima
Alexey Navoykov: Tutto sembra essere corretto, credo. Probabilmente lì viene chiamato il costruttore move, che in MQL è sostituito da copy.
Una conversione è come (A)a1
(A)a1 o A(a1) non è un cast, è una dichiarazione di un tipo come nei documenti. Anche se ora c'è qualcosa di sbagliato nelle parentesi. Un unico formato è necessario per la lingua.
(A)a1 o A(a1)conversione di tipo A a1 non è una conversione, ma una dichiarazione di tipo come nei documenti. Anche se ora c'è qualcosa di sbagliato nelle parentesi. È necessario un formato comune per la lingua.
La differenza è che (A)a1 in più significa la conversione della copia dell'oggetto. E in MQL è la conversione di riferimento. A causa di questo, si può avere un problema di compatibilità.
Tempo fa ho chiesto loro di fare una conversione come in plus: (A&)a1, ma ora probabilmente non cambieranno nulla.
Alexey Navoykov: La differenza qui è che in plus (A)a1 significa portare una copia di un oggetto. E in MQL è la conversione di riferimento. A causa di questo, si possono incontrare problemi di compatibilità.
Ho chiesto loro da tempo di fare una conversione sonora come nei plus: (A&)a1, ma probabilmente non cambieranno nulla ora.
Non si sithon) qualcosa nel mezzo. Ops, non lo sapevo, ho pensato alla conversione del tipo di oggetto. Economia).
Alexey Navoykov: Tutto sembra essere corretto. È solo che probabilmente lì viene chiamato il costruttore del movimento, che in MQL è sostituito dalla copia.
E il fantasma è come (A)a1
Dubito che sia giusto, perché diciamo:
class A {
public:
virtualvoid f() { Print( 1 ); }
};
class B : public A {
public:
virtualvoid g() { ((A)this).f(); }
};
class C : public B {
public:
virtualvoid f() { Print( 3 ); }
};
voidOnStart()
{
B *b = new C;
b.g();
}
class A {
public:
virtualvoid f() { Print( 1 ); }
};
class B : public A {
public:
virtualvoid g() { this.A::f(); } //1
};
class C : public B {
public:
virtualvoid f() { Print( 3 ); }
};
voidOnStart()
{
B *b = new C;
b.g();
}
Sui grafici (in particolare EURUSD) con timeframes mensili e settimanali il mirino si muove molto lentamente seguendo il cursore - basta muovere il cursore dolcemente in diagonale per giocare. Va bene in altri tempi. Non c'è stato un tale ritardo prima
Errore di esecuzione:
Risultato: 1-2-2-0-0-0
Risultato atteso: 1-2-0-0
come in C++. Inoltre, la sintassi doveva essere uniforme: un cast è un cast, non una chiamata al costruttore
Tutto sembra essere corretto, credo. Probabilmente lì viene chiamato il costruttore move, che in MQL è sostituito da copy.
(A)a1 o A(a1) non è un cast, è una dichiarazione di un tipo come nei documenti. Anche se ora c'è qualcosa di sbagliato nelle parentesi. Un unico formato è necessario per la lingua.
(A)a1 o A(a1)conversione di tipo A a1 non è una conversione, ma una dichiarazione di tipo come nei documenti. Anche se ora c'è qualcosa di sbagliato nelle parentesi. È necessario un formato comune per la lingua.
La differenza qui è che in plus (A)a1 significa portare una copia di un oggetto. E in MQL è la conversione di riferimento. A causa di questo, si possono incontrare problemi di compatibilità.
Non si sithon) qualcosa nel mezzo. Ops, non lo sapevo, ho pensato alla conversione del tipo di oggetto. Economia).
Tutto sembra essere corretto. È solo che probabilmente lì viene chiamato il costruttore del movimento, che in MQL è sostituito dalla copia.
Dubito che sia giusto, perché diciamo:
Il risultato in MQL: 3
e in C++: 1.
In ogni caso, fate controllare
Dubito che questo sia corretto, perché diciamo:
Il risultato in MQL: 3
e in C++: 1.
In ogni caso, fate controllare
Dubito che questo sia corretto, perché diciamo:
Il risultato in MQL: 3
e in C++: 1.
In ogni caso, lasciate che controllino.
Non sarei così sicuro nell'interpretare il codice MQL in C++.
Codice per C++ (online: https://onlinegdb.com/Hy1FIj9Qv):
Non sarei così univoco nell'interpretare il codice MQL in C++.
Il codice è per C++ (online: https://onlinegdb.com/Hy1FIj9Qv):
E come proponi di scrivere la terza versione di g_cast in MQL?
E come proponi di scrivere la terza versione di g_cast in MQL?
Potete chiamare esplicitamente la funzione dalla classe base: