Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 124
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Non so se è stato postato qui o no, ma potrebbe essere utile a qualcuno. Quando si vuole sovraccaricare un metodo di una classe parametrizzata solo dal fatto che prenda un argomento dello stesso tipo per valore o per riferimento (le strutture vengono passate solo per riferimento, i tipi semplici più spesso per valore). Può essere fatto in questo modo (e il secondo modo si applica esattamente alla variante senza &, altrimenti la tipizzazione di base per strutture non compilerà)
Discussione qui.
Non ricordo se era qui o no, ma può essere utile a qualcuno. Quando volete sovraccaricare un metodo di una classe parametrizzata solo per valore, o solo per riferimento (le strutture sono passate solo per riferimento, i tipi semplici più spesso per valore). Questo può essere fatto in questo modo (inoltre, il secondo template si applica esattamente alla variante senza &, altrimenti la tipizzazione di base per strutture non compilerà)
Poi si scopre che una classe progettata per un tipo di struttura può accettare ogni sorta di tipo numerico. E cosa fare con loro?
Poi si scopre che una classe progettata per un tipo di struttura può accettare ogni sorta di tipo numerico. E cosa fare con loro?
In questo caso, la classe è intesa per tipi misti - sia per strutture che per tipi semplici, altrimenti questo costrutto non ha senso. Per evitare di prendere tipi inutili in F, potete scrivere un controllo per typename(F), sizeof(F), ecc.
In questo caso la classe è intesa per il tipo misto - sia per le strutture che per i tipi semplici, altrimenti questa costruzione non ha senso. Per non accettare tipi inutili in F, si può scrivere lì un controllo per typename(F), sizeof(F), ecc.
Il typename non proteggerà dall'accettare tipi non necessari) Per questo, è necessario fare un metodo privato sovraccaricato con un tipo appropriato.
E se la classe è destinata a qualsiasi tipo, perché parametrizzarla con un parametro template, creando confusione? Anche se ci sono varianti più semplici per crutch, senza classi template.
se una classe è destinata ad essere di qualsiasi tipo, perché parametrizzarla con un parametro template, creando confusione?
Quindi come si fa a prendere il tipo giusto, che può essere qualsiasi tipo, senza impegnare la parametrizzazione? Non si può dichiarare un parametro o un campo senza specificare un tipo. Per esempio, potrebbe essere una classe "wrapper" su un tipo di dati arbitrario.
typename non protegge dall'accettare tipi non necessari)
Se scrivete typename(F)==typename(T), proteggerà.
Quindi, come otterrete il tipo giusto, che può essere qualsiasi cosa, senza passare la parametrizzazione? Non si può dichiarare un parametro o un campo senza specificare un tipo. Per esempio, può essere una classe "wrapper" per un tipo di dati arbitrario.
Beh, allora è solo la classe A. Perché dichiarare un modello se il suo parametro non è in alcun modo legato al comportamento della classe?
Se scrivete typename(F)==typename(T), lo proteggerà.
Questa è davvero una cosa crudele da fare. Dovrete spostare il controllo typename nella fase di runtime. I vostri codici dovranno essere debuggati per anni
Potete dirmi dove posso cercare un trailing stop regolare per cinque dollari?
iSAR iOsMA EA-Trailing
iSAR iOsMA EA-Trailing
Grazie!