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
¿Has probado a leer el enlace que nos has dado? Slava explica popularmente por qué es así - porque la prioridad se confundió en el antiguo MQL4. Por eso, ahora es importante llamar la atención. Ni siquiera es bueno que sólo haya una advertencia, sería mejor que hubiera un error.
O, una bofetada en la cara
¿Has probado a leer el enlace que nos has dado? Slava explica popularmente por qué es así - porque la prioridad se confundió en el antiguo MQL4. Por eso, ahora es importante llamar la atención. Ni siquiera es bueno que sólo haya una advertencia, sería mejor que hubiera un error.
¿Y qué? Aquí:
También en el MQL4 se confundió la prioridad? Se trata del enfoque general, no del caso especial. En el caso particular se puede dar una advertencia/error (como excepción) pero ¿por qué debería extenderse a todo lo demás?
Además, en MQL4 (que yo sepa) digamos que el operador || no tiene pereza. Y a pesar de esto, el compilador MQL5 no genera una advertencia en casos similares (no sugiere romper || en varias operaciones atómicas)
De lo que se deduce que la página correspondiente de la historia se invierte
Me gustaría añadir a ... que incluso la Documentación dice:
"Para cambiar el orden de las operaciones se utilizan paréntesis, que tienen la máxima prioridad".
lo que implica que el uso de paréntesis para otros fines (no relacionados con el cambio de orden) debe seguir estando justificado
Me pregunto dónde está el umbral del número de programadores cuando se debe dudar. 5 no es suficiente. 1.000 no es suficiente. 10.000 - vacilen. Y, por último, N: la confianza. Sin embargo, cuando era (N-1) - no me fiaba todavía.
El umbral no se define en valor absoluto, sino como un % del número de personas que piensan lo contrario. La mayoría puede estar equivocada, pero no el 99% es un criterio fiable
Y en 1961x32 todo funciona... ¡vaya!
Hmm, una característica interesante. A partir de ahora también especificaré el bitrate de la plataforma
¿Y qué? Aquí:
¿también en el MQL4 se confundió la prioridad?
Sí, la documentación dice que la prioridad era diferente en la versión antigua.
Pero, en mi opinión, todo esto hace tiempo que es irrelevante. Y más aún si se especifica la directiva estricta. Y si alguien desentierra un código antiguo e intenta compilarlo, tendrá que rehacer muchas cosas allí de todos modos. Así que estas advertencias son una reliquia del pasado. Por eso estoy de acuerdo en que no hay que lanzar advertencias en el vacío.
Así que en su código los paréntesis no significan nada, la declaración ... parece ilógico y en el caso de los paréntesis necesitamos entender si las prioridades/orden han cambiado realmente, mientras que en mi código los paréntesis por sí mismos significan el cambio de prioridades/orden (la presencia/ausencia de paréntesis lo deja todo claro)
Los paréntesis hacen que una expresión sea completamente inequívoca.
Las propias advertencias (no sólo sobre los paréntesis) nos hablan no de un error, sino de la posibilidad de un error. Pero usted propone deshacerse de todas las advertencias por completo, porque las prioridades (no sólo con paréntesis) están claramente especificadas en el compilador.
El umbral no se define en valor absoluto, sino como un porcentaje del número de personas que piensan de otra manera. La mayoría puede estar equivocada, pero no el 99% es un criterio fiable
La misma pregunta sobre el número no en absoluto, sino en relativo. ¿Es el 98% un criterio fiable? А 97%? ¿Dónde está ese umbral en el que hay que empezar a dudar de la fiabilidad? Aunque el 100% de los que te rodean afirmen que eres un maníaco homicida. ¿Es un criterio creíble?
Perdón por salirme del tema, me pueden decir si alguien sabe: ¿hay alguna forma en mql de obtener int desde void*ptr que no sea (int)StringFormat("%i",ptr)?
sólo a través de cadenas, solía obtener la dirección del puntero a través deStringConcatenate(), así:
El ejemplo más trivial es la clase array. En este caso, se utiliza para almacenar cualquier puntero:
Tal conjunto es de dudosa utilidad, francamente hablando. ¿Qué puede hacer con él? Sabes que no llamarás automáticamente a la eliminación de los miembros del array, ¿verdad?