OOP, plantillas y macros en mql5, sutilezas y usos - página 17
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
¿Las macros devuelven valores?
Bien, aquí hay un ejemplo de código
Bien, aquí hay un código de muestra
La sustitución de macros significa que todo ese código (que está en la definición), será sustituido cada vez en un lugar específico del programa. De hecho, en lugar de hacer una función y llamarla, se copia esta función dentro del código muchas veces, como un trozo de código.
Y si haces elretorno de una macro, es elretorno de todo el código donde se inserta esta macro.
La sustitución de macros significa que todo el código (que está en la definición), será sustituido cada vez en el lugar especificado en el programa. De hecho, en lugar de hacer una función y llamarla, se copia esta función dentro del código muchas veces, como un trozo de código.
Y si haces elretorno de una macro, este es el retorno de todo el código donde se inserta esta macro.
Resulta que no se puede escribir una función macro.
Resulta que no hay manera de escribir una función macro.
Una macro sustitución es la sustitución de un texto por otro (en el código fuente), no puede ser una función por definición.
Como escribir 2 macros sin saltar a una nueva línea aumenta mucho el número de líneas, lo que alarga mucho el programa, he aquí un ejemplo
La macro B ya no funciona.
¿es posible convertir un nombre de variable en una cadena?
No funciona así:
Chicos, quiero escribir una macro de makros(a) y que funcione así: si a es igual a 1, devolverá cualquier valor de tipo int, si a es igual a 2, devolverá cualquier valor de tipo double, si a es igual a 3, devolverá cualquier valor de tipo bool. ¿Es posible hacerlo?
¿Para qué? ¿Para qué? ¿Dónde lo vas a utilizar?
¿es posible convertir un nombre de variable en una cadena?
Chicos esta pregunta quiero escribir una macro makros(a), funcionará así: si a es igual a 1ce entonces la macro devolverá cualquier valor de tipo int, si a es igual a 2ke entonces la macro devolverá cualquier valor de tipo double, si a es igual a 3ke entonces la macro devolverá cualquier valor de tipo bool. ¿Es posible hacerlo?
En µl, se puede prescindir de GET_EXPAND, pero es algo específico de µl, es más correcto. Y las macros µl están muy limitadas por la falta del operador coma (aunque por muletillas...).
ZZY: y todo es en tiempo de compilación, por supuesto.
ZZZY: por cierto, si hubiera un operador fantasma, podrías hacer esto: