Errores, fallos, preguntas - página 2208
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
La famosa pregunta de la entrevista de trabajo.
¿Qué habrá en la i?
Salidas de MQL5 12. Salidas de MS Visual Studio 13.como parece que funciona en C++. Así que pregunté y decidí leer C++, por ejemplo. El mismo valor por uno sólo en la diferencia. Parece que asigna 5 a "y" en el segundo caso y luego lo suma, mientras que en el primer ejemplo primero suma y luego asigna (me costó mucho averiguar cómo funciona =D )
En mql5 son operaciones iguales, en c++ son diferentes, abajo te acaban de dar un ejemplo de una prueba en c++ ))
La famosa pregunta de la entrevista de trabajo.
¿Qué habrá en la i?
MQL5 da 12. MS Visual Studio da 13.Indefinido por el efecto secundario. En este caso, un efecto triple en conjunto. Diferentes optimizaciones pueden calcular los valores de las variables de manera diferente. En aras de la optimización.
En mql5 son operaciones equivalentes, en c++ son diferentes, a continuación se le dio sólo un ejemplo de una prueba en c++))
¿De dónde lo has sacado? ¿Has comparado los resultados de las operaciones array[++i]=i y array[i++]=i?
Aquí hay un rompecabezas para ti. ¿Cuál es la diferencia entre la operación postfix y la operación prefix?
Una famosa pregunta en una entrevista de trabajo.
Una pregunta tonta e innecesaria que sólo revela si el entrevistado sabe lo que es el LU y tiene poco que ver con el tema de discusión.
Aleksey Rodionov:
Estoy aquí sentado pensando, ¿cómo puede ser útil el código de la forma de prefijo?
El compilador tiene suficiente cerebro para optimizar la forma postfix cuando es necesario.
¿De dónde has sacado la información? ¿Has comparado los resultados de las operaciones array[++i]=i y array[i++]=i?
He aquí una pregunta desconcertante. ¿Cuál es la diferencia entre la operación postfix y la operación prefix?
qué tiene que ver array[++i]=i y array[i++]=i, cómo puedo comparar lo que no ha estado en la conversación...
Si hay algunos cambios en mql en el marco de la disputa y usted lo sabe, entonces usted como moderador está obligado a informar a los participantes del diálogo, en lugar de tratar de hacer las pruebas de conocimiento de sintaxis, definitivamente no es su deber ...
y además, muestra todas las instrucciones en la ayuda de mql sobre la diferencia en las operaciones postfix y prefix, pero las pruebas de años anteriores muestran que estas operaciones eran equivalentes en mql
ps. por cierto, acabo de comprobar el ejemplo del diálogo
build 1816 resultado == 12
Esta es una pregunta tonta e innecesaria, que sólo revela si el entrevistado sabe lo que es el LU y tiene poco que ver con el tema de la discusión.
Bueno, en realidad la forma del prefijo es más rápida.
Además, creo que utilizar este tipo de construcciones en su código es simplemente inaceptable.
En primer lugar, por la ambigüedad del trabajo en diferentes implementaciones y, aún más, porque es fácil cometer un error en dicho código y no es tan fácil darle sentido.
El código debe ser transparente y comprensible de un vistazo.
Además, en mi opinión, es sencillamente inaceptable utilizar tales construcciones en el código.
En primer lugar, debido a la ambigüedad del trabajo en diferentes implementaciones, y aún más - porque es fácil cometer un error en tal código, y no es fácil de entender.
El código debe ser transparente y comprensible de un vistazo.
es hora de cambiar la ayuda de mql5 a la forma de las convenciones y reglas del lenguaje
¿Qué tiene que ver array[++i]=i y array[i++]=i, cómo puedo comparar lo que no pasó en la conversación...
Si hay cambios en mql en el marco de la disputa y usted lo sabe, entonces como moderador está obligado a ponerlo en conocimiento de los participantes del diálogo, en lugar de tratar de hacer pruebas de conocimiento de sintaxis, definitivamente no es su deber...
y además, muestra todas las instrucciones en la ayuda de mql sobre la diferencia en las operaciones postfix y prefix, pero las pruebas de años anteriores muestran que estas operaciones eran equivalentes en mql
ps. por cierto, acabo de comprobar el ejemplo del diálogo
build 1816 resultado == 12
Pero sus ejemplos son puramente teóricos. Están destinadas únicamente a los estudiantes. Ningún programador en su sano juicio los pondría en producción.
Los incrementos y decrementos de los prefijos y postfijos se utilizan en primer lugar en los bucles. Y se llaman incrementos y decrementos.
He aquí algunos ejemplos
и
Si afirmas que las operaciones prefijas y postfijas funcionan de la misma manera, entonces bandera en las manos y tambor en el cuello.
En el caso del incremento del prefijo, obtendrá un elemento de matriz nulo no inicializado y un error de matriz fuera de rango en la última iteración.
PS. Decidí releer nuestra documentación sobre este tema en el enlace verde https://www.mql5.com/ru/docs/basis/operations/mathoperation
Nota importante
int i=5;
int k = i++ + ++i;
Puede tener problemas de cálculo al portar la expresión anterior de un entorno de programación a otro (por ejemplo, de Borland C++ a MQL5). En el caso general, el orden de los cálculos depende de la implementación del compilador. En la práctica, hay dos formas de implementar el postdecremento (postincremento):
En MQL5 actualmente implementamos el primer método de cálculo del postdecremento (postincremento). Pero incluso con este conocimiento, es mejor no experimentar con el uso de este truco.