Erreurs, bugs, questions - page 2745
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
L'appel Symbol() se déroule TOUJOURS pour accéder à la variable globale _Symbol, tout comme Digits(), Point(), Period(), GetLastError(), IsStopped(), UninitializeReason()
Et le passage de la chaîne par référence ?
Et passer une chaîne par référence ?
Apparemment, la raison est l'un des problèmes insolubles de MQL - passer un littéral comme paramètre par const ref.
Est-il possible d'avoir des surcharges SymbolInfo* normales, où la chaîne est passée par référence ?
Comment pourraient-ils aider ?
Il renvoie toujours 1, et non 2
Et passer une chaîne par référence ?
La chaîne est passée par référence.
Nous sommes passés depuis longtemps à "copy_on_write string" -> lors de la copie d'une chaîne de caractères vers une autre, le contenu n'est pas copié immédiatement (comme c'était le cas auparavant), le nombre de références au tampon de la chaîne de caractères est augmenté
. Par exemple, le nombre de références est augmenté lors du passage de la chaîne de caractères par valeur, en tant que paramètre et est réduit après l'appel.
Lorsqu'
une chaîne est modifiée, le nombre de références au tampon est vérifié et s'il y a plus d'une référence, la chaîne à modifier est "déliée" de l'ancien tampon et un nouveau tampon est alloué.
Comment vont-ils aider ?
Il renvoie toujours (appelé) 1, et non 2.
La variable _Symbol est constante
Alors la surcharge n'aidera pas non plus.
il y aura une erreur déjà au moment de la compilation
La chaîne est passée par référence.
Nous sommes passés depuis longtemps à "copy_on_write string" -> lors de la copie d'une chaîne de caractères vers une autre, le contenu n'est pas copié immédiatement (comme c'était le cas auparavant), le nombre de références au tampon de la chaîne de caractères est augmenté
. Par exemple, le nombre de références est augmenté lors du passage d'une chaîne de caractères par valeur, en tant que paramètre et diminué après l'appel.
Lorsqu'
une chaîne est modifiée, le nombre de références au tampon est vérifié et s'il y a plus d'une référence, la chaîne modifiée est "déliée" de l'ancien tampon et un nouveau lui est alloué.
Tout cela est-il défini au niveau de la compilation ?
Erreur de compilation :
Tout cela est-il défini au niveau de la compilation ?
Non. Il n'est pas encore connu au moment de la compilation.
Non. Il n'est pas encore connu au moment de la compilation.
Alors, en quoi cela permet-il d'éviter un nombre énorme de vérifications lorsque SymbolInfoTick est appelé des dizaines de milliards de fois ?