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
¿Cuál fue la acción anterior?
¿Ayuda la actualización?
Abrí el terminal después de unos días sin usarlo. Tengo esta foto. Luego usé el script para cargar el historial. No hay cambios. Esperé un par de horas. Todo está bien ahora.
¿Puedes explicar por qué según los resultados de la ejecución x==0 e y==1 ? Construir 342
PS. Debería leer... x==1 e y==0 ...
¿Puedes explicar por qué según los resultados de la ejecución x==0 e y==1 ? Construir 342
Consulte aquí https://www.mql5.com/ru/docs/basis/operations/mathoperation
¿El compilador no muestra ningún error o advertencia?
¿Puedes explicar por qué según los resultados de la ejecución x==0 e y==1 ? Construir 342
Lo comprobamos, el resultado es x=1, y=0
el primer incremento x=x++ se descompone en
t=x; // x=0
x++; // x=1
x=t; // x=0
¿Puedes explicar por qué según los resultados de la ejecución x==0 e y==1 ? Construir 342
Sí, podemos. Se trata de la implementación de x = x++;
Antes del postincremento, el valor de x se guarda en una variable temporal. A continuación, se realiza un incremento. Luego se hace una asignación desde la variable temporal.
Mira aquí https://www.mql5.com/ru/docs/basis/operations/mathoperation
¿El compilador no muestra ningún error o advertencia?
El compilador de MT5 se lo traga en silencio. No compila en MT4.
Por curiosidad, he probado una construcción similar en C++ (desde Visual Studio 2005) y el resultado para x e y es el mismo.
¿Puedes explicar por qué según los resultados de la ejecución x==0 e y==1 ? Construir 342
Es necesario inicializar las variables antes de realizar operaciones con ellas. Si lo asignas a una variable no inicializada, todo irá bien.
Sin embargo, siempre es una buena idea inicializar las variables para evitar problemas.
¡El compilador de MT5 traga en silencio! En MT4 la compilación falla.
Por curiosidad he probado una construcción similar en C++ (desde Visual Studio 2005) - el resultado para x e y es el mismo.
Este lugar no está definido en el estándar c++ y se indica explícitamente que depende de la implementación. Hay dos implementaciones principales:
1. Realiza un postincremento inmediatamente después de utilizar una variable en una expresión. (como hemos hecho nosotros).
2. Postincremento después de calcular toda la expresión.
Quiero decir, ¿dónde puedo encontrar qué corredores corren MT5 en tiempo real?