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
En général, nous devrions commencer par le fait que les variables globales sont diaboliques, et quand une telle variable est utilisée dans de nombreux fichiers et peut être modifiée de n'importe où, alors c'est le mal au carré ! Par conséquent, de telles variables devraient toujours être déclarées comme constantes (à moins que nous ne parlions de variables auxiliaires à des fins de débogage, qui n'affectent pas la logique de l'algorithme).
Le spécificateur extern est nécessaire si le projet est composé de plusieurs fichiers mq5 (à ne pas confondre avec mqh). Dans ce cas, il est judicieux de déclarer les variables globales dans un fichier distinct. Si le projet consiste en mqh et est construit en utilisant #include, extern n'est pas nécessaire puisqu'il s'agit d'un fichier divisé en plusieurs fichiers.
L'exemple est nécessaire, j'ai essayé d'utiliser extern dans les bibliothèques - cela ne fonctionne pashttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
L'exemple est nécessaire, j'ai essayé d'utiliser extern dans les bibliothèques - cela ne fonctionne pashttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
Ici, dans le second cas, vous avez besoin d'extern, qui introduirait les variables globales dans la portée de différents fichiers.
Cela ne me dérange pas, mais j'ai besoin d'un exemple, ici vous pouvez deviner où utiliser extern - j'ai essayé dans la bibliothèque, cela n'a pas fonctionné, montrez-moi comment vous utilisez extern
Ce n'est pas pour les bibliothèques, mais pour les projets. Le projet peut être construit soit sur #include ou faire plusieurs fichiers mq5. Dans le second cas, extern est nécessaire pour introduire des variables globales dans la portée de différents fichiers.
Le fait est qu'extern s'est avéré tout simplement inutile. Une variable déclarée globalement dans un fichier du projet est disponible dans tous ses fichiers. Mais pourquoi ? Question pour les créateurs.
Vous pouvez déclarer une variable externe dans tous les fichiers *.mqh, dans lesquels elle est utilisée.
Ensuite, ces fichiers *.mqh ne dépendent pas du fichier *.mq5 (ou d'un autre fichier *.mqh), dans lequel la variable globale est déclarée.
Cela vous permet d'utiliser les fichiers dans d'autres projets, ce qui augmente la réutilisation du code.
Vous pouvez déclarer la variable extern dans tous les fichiers *.mqh, dans lesquels elle est utilisée.
Ensuite, ces fichiers *.mqh ne dépendent pas du fichier *.mq5 (ou autre *.mqh), dans lequel la variable globale est déclarée.
Cela vous permet d'utiliser les fichiers dans d'autres projets, ce qui augmente la réutilisation du code.
Merci, maintenant je comprends la logique. Au départ, je pensais que c'était similaire à extern en C++.
N'est-ce pas similaire ?