Caractéristiques du langage mql5, subtilités et techniques - page 124
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Je ne sais pas si elle a été publiée ici ou non, mais elle pourrait être utile à quelqu'un. Lorsque l'on veut surcharger une méthode d'une classe paramétrée uniquement par le fait qu'elle prend un argument du même type par valeur ou par référence (les structures sont passées uniquement par référence, les types simples le plus souvent par valeur). Cela peut être fait de cette façon (et la deuxième façon s'applique exactement à la variante sans &, sinon le typage de base par les structures ne compilera pas)
Discussion ici.
Je ne me souviens pas si c'était ici ou non, mais cela peut être utile à quelqu'un. Lorsque vous voulez surcharger une méthode d'une classe paramétrée par valeur seulement, ou par référence seulement (les structures sont passées par référence seulement, les types simples le plus souvent par valeur). Cela peut être fait de cette façon (de plus, le deuxième modèle s'applique exactement à la variante sans &, sinon le typage de base par structures ne compilera pas)
Il s'avère ensuite qu'une classe conçue pour un type de structure peut accepter toutes sortes de types numériques. Et que faire d'eux ?
Il s'avère ensuite qu'une classe conçue pour un type de structure peut accepter toutes sortes de types numériques. Et que faire d'eux ?
Dans ce cas, la classe est destinée aux types mixtes - à la fois aux structures et aux types simples, sinon cette construction n'a pas de sens. Pour éviter de prendre des types inutiles dans F, vous pouvez y écrire une vérification pour typename(F), sizeof(F), etc.
Dans ce cas, la classe est destinée à un type mixte - à la fois pour les structures et les types simples, sinon cette construction n'a pas de sens. Afin de ne pas accepter des types inutiles dans F, vous pouvez y écrire une vérification pour typename(F), sizeof(F), etc.
Le typename ne protège pas de l'acceptation de types inutiles). Pour cela, vous devez créer une méthode privée surchargée avec un type approprié.
Et si la classe est destinée à n'importe quel type, pourquoi la paramétrer avec un paramètre de modèle, créant ainsi une confusion ? Bien qu'il existe des variantes plus simples pour la béquille, sans classes de modèles.
si une classe est destinée à être de n'importe quel type, pourquoi la paramétrer avec un paramètre de modèle, créant ainsi une confusion ?
Alors comment prendre le bon type, qui peut être n'importe quel type, sans engager le paramétrage ? Vous ne pouvez pas déclarer un paramètre ou un champ sans spécifier un type. Par exemple, il pourrait s'agir d'une classe "enveloppante" sur un type de données arbitraire.
typename ne protège pas contre l'acceptation de types inutiles )
Si vous écrivez typename(F)==typename(T), cela protégera.
Alors comment obtenir le bon type, qui peut être n'importe quoi, sans passer par la paramétrisation ? Vous ne pouvez pas déclarer un paramètre ou un champ sans spécifier un type. Par exemple, il peut s'agir d'une classe "enveloppante" pour un type de données arbitraire.
Dans ce cas, il s'agit simplement de la classe A. Pourquoi déclarer un motif si son paramètre n'est en aucune façon lié au comportement de la classe ?
Si vous écrivez typename(F)==typename(T), il le protégera.
C'est vraiment une chose cruelle à faire. Vous devrez déplacer le contrôle de typename au stade de l'exécution. Vos codes devront être débogués pendant des années.
Pouvez-vous me dire où je peux trouver un stop suiveur régulier pour cinq dollars ?
iSAR iOsMA EA-Trailing (suivi)
iSAR iOsMA EA-Trailing (suivi)
Merci !