Caractéristiques du langage mql5, subtilités et techniques - page 216
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
ZS : J'ai aussi vu des macros comme
Je ne comprends pas.
Je ne comprends pas.
il y a beaucoup d'informations en ligne sur la commodité d'une telle macro, tapez sur Google "macro while 0".
https://russianblogs.com/article/9410298326/
Il y avait un exemple de while(0) dans ce fil il y a longtemps.
https://www.mql5.com/ru/forum/170952/page141#comment_12897922
Pour être clair, il ne s'agit que de statique (tout ceci concerne le C++). Pour les variables locales, s'il existe un c-tor utilisateur, il n'y a pas de nullité.
J'ai aimé l'explication elle-même, qui ne contredit en rien la POO.
Lorsque vous créez un objet de structure simple, il se passe ce qui suit :
Lorsque la déclaration passe par {}, une autre est insérée entre les éléments 1-2 - remplissant la mémoire allouée de zéros.
Avec cette logique, la POO ne souffre d'aucune façon. C'est un mécanisme valable.
Lorsque {} est déclaré, un autre est inséré entre les points 1-2 - remplissant la mémoire allouée de zéros.
Avec cette logique, la POO ne souffre d'aucune façon. Mécanisme valide.
La logique souffre ici : pourquoi avons-nous besoin de le mettre à zéro s'il y aura de toute façon un constructeur après ?
La logique elle-même souffre ici : pourquoi mettre à zéro s'il y aura de toute façon un constructeur par la suite ?
Parce qu'une structure avec un constructeur ne peut pas être utilisée dans une union.
Pour l'union, il suffit d'initialiser le premier membre, de permuter les champs et le test s'exécutera.
Réfléchissons si cela vaut la peine de changer de comportement pour devenir ce que la plupart des utilisateurs attendent.
Considérez que j'ai changé - maintenant je vérifie le 1er terme pour x[i].i == 0 (avant la condition était x[i].x == 0.0)
Résultat : faux
Et avec ZeroMemory - vrai
il y a beaucoup d'informations en ligne sur la commodité d'une telle macro, tapez sur Google "macro while 0".
https://russianblogs.com/article/9410298326/
Tout ce bazar, c'est juste pour mettre un point-virgule à la fin d'une macro. J'utilise partout des crochets dans les macros et je n'ai aucun problème.
Considérez que j'ai changé - maintenant je vérifie le 1er terme pour x[i].i == 0 (précédemment la condition était x[i].x == 0.0)
Résultat : faux
Et avec ZeroMemory - vrai.
Oui. bug mql
(et en C++ il renvoie vrai).