Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
En general, debemos partir del hecho de que las variables globales son malvadas, y cuando una variable de este tipo se utiliza en muchos archivos y puede ser modificada desde cualquier lugar, ¡entonces es malvada al cuadrado! Por lo tanto, tales variables siempre deben ser declaradas como constantes (a menos que estemos hablando de variables auxiliares para fines de depuración, que no afectan a la lógica del algoritmo).
El especificador externo es necesario si el proyecto consta de varios archivos mq5 (no confundir con mqh). En este caso, tiene sentido declarar las variables globales en un archivo separado. Si el proyecto consiste en mqh y se construye usando #include, extern no es necesario ya que es un archivo dividido en varios archivos.
ejemplo es necesario, he tratado de usar extern en las bibliotecas - no funcionahttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
ejemplo es necesario, he tratado de usar extern en las bibliotecas - no funcionahttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
Aquí, en el segundo caso, se necesita extern, que introduciría las variables globales en el ámbito de diferentes archivos.
No me importa, pero necesito un ejemplo, aquí se puede adivinar dónde usar extern - lo intenté en la biblioteca, no funcionó, muéstrame cómo usas extern
No es para las bibliotecas, sino para los proyectos. El proyecto puede ser construido en #include o hacer varios archivos mq5. En el segundo caso, se necesita extern para introducir variables globales en el ámbito de diferentes archivos.
La cuestión es que externamente resultó ser simplemente innecesario. Una variable declarada globalmente en cualquier archivo de proyecto está disponible en todos sus archivos. ¿Pero por qué? Pregunta para los creadores.
Puedes declarar una variable externa en todos los archivos *.mqh en los que se utilice.
Entonces, estos archivos *.mqh no dependen del archivo *.mq5 (u otro archivo *.mqh), en el que se declara la variable global.
Esto le permite utilizar los archivos en otros proyectos, aumentando la reutilización del código.
Puede declarar la variable externa en todos los archivos *.mqh en los que se utilice.
Entonces, estos archivos *.mqh no dependen del archivo *.mq5 (u otro archivo *.mqh), en el que se declara la variable global.
Esto le permite utilizar los archivos en otros proyectos, aumentando la reutilización del código.
Gracias, ahora entiendo la lógica. Al principio pensé que era similar a extern en C++.
¿No es similar?