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
Vous voulez (comme je pense que c'est évident) - obtenir des noms surchargés dans les variables de nom de fichier...
Pour que Init() fonctionne correctement, il doit être appelé après la construction de l'objet.
Ou pas ?
Je pense que le VMT n'est initialisé que dans le code de terminaison du constructeur, donc lorsque vous appelez une méthode dans le constructeur, il appellera une méthode de type variable, et non de type objet constructible.
C'est quelque chose comme ça.
Au moins, celui-ci fonctionne :
Pour MetaQuotes: Si j'ai bien compris, il est préférable d'interdire complètement l'appel aux fonctions virtuelles dans les constructeurs. A.
Ou les faire fonctionner correctement. Ce dont je doute.
Je commence juste à connaître les constructeurs paramétriques. Mais il semble que dans l'exemple
Les parenthèses dans la ligne surlignée sont mal placées.Je commence juste à connaître les constructeurs paramétriques. Mais il semble que dans l'exemple
dans la ligne surlignée a les mauvaises parenthèses.Poste technique (début d'une petite discussion sur l'initialisation, également dans les constructeurs). Déplacé, pour qu'il ne se perde pas sous les pas lourds des nouveaux arrivants : https://www.mql5.com/ru/forum/58/page31#comment_66890
Une question sur l'initialisation. En règle générale, l'initialisation des variables de type chaîne et des objets complexes se fait automatiquement, "par défaut". Cela gaspille une certaine quantité de puissance de calcul de l'ordinateur (je l'appelle "horloge de l'ordinateur", désolé pour les termes amateurs).
Il existe désormais des listes d'initialisation qui vous permettent d'initialiser des variables avec des valeurs personnalisées. Y a-t-il une différence dans la vitesse d'initialisation entre l'initialisation automatique et l'initialisation avec une valeur personnalisée ? En d'autres termes, le nombre de "coups d'ordinateur" lors de l'utilisation de listes d'initialisation (et de valeurs personnalisées) augmente-t-il par rapport à l'initialisation automatique ?
Et si nous gagnons quelques cycles d'horloge, cela donnera-t-il un gain significatif ? D'autant plus que l'initialisation est faite une fois, et que les valeurs devront encore être assignées plus tard.
C'est une question importante pour moi personnellement, car je veux comprendre la technique.
Avec la bonne approche, tout serait comme ça. Les listes d'initialisation sont une conséquence de l'introduction des constructeurs paramétriques.
Examinons deux exemples :
Tout est écrit dans les commentaires.
Exemple 2 :
Ainsi, dans la variante 1, nous avons 1 appel d'Init et dans la variante 2, nous avons 2 appels. Et comme la fonction "like" est très lourde, le plus est là.TheXpert, merci beaucoup ! Je vais m'en occuper.
J'ai compris indirectement de vos propos, qu'il n'y a pas de différence de vitesse entre l'auto-initialisation d'une variable de type " string, dynamic array et complex object" et l'initialisation par l'utilisateur de la même variable.
J'ai implicitement compris de vos propos qu'il n'y a pas de différence de vitesse entre l'auto-initialisation d'une variable de type " string, dynamic array et complex object" et l'initialisation par l'utilisateur de la même variable.