Autoaprendizaje del lenguaje MQL5 desde cero - página 45

 
Vladimir Simakov:

Hay una buena anécdota sobre esto:

- Pregunta: ¿Cuál es el mejor tipo para una variable global en c++?

- Respuesta: //.

Buena anécdota. Gracias.

Saludos, Vladimir.

 
Реter Konow:
Esto es ciertamente informativo, pero las variables globales deberían ser inicializadas explícitamente para mayor claridad. Por ejemplo, en mql4 las variables/arreglos no se pueden inicializar en ningún sitio cuando se declaran, y siguen obteniendo el cero inicial. ))
#property strict

int Test(){
   int a[10];
   int ret=0;
   for (int i=0;i<10;ret+=a[i++]);
   return ret;
}

void OnStart(){
   Print(Test());
  }
 
Vladimir Simakov:
Y... ¿qué es?) Imprime la suma de la adición
de los valores de las celdas de un array no inicializado explícitamente. ¿Dónde? ¿Mql4? ¿Mql5? ¿Cómo se relaciona con el hecho de que es deseable inicializar las variables globales para mayor claridad? ¿Confirma o refuta la tesis?)
 
Реter Konow:
Y... ¿qué es eso?) Imprimes la suma de la adición
de los valores de las celdas de un array no inicializado explícitamente. ¿Dónde? ¿Mql4? ¿Mql5? ¿Cómo se relaciona con el hecho de que es deseable inicializar las variables globales para mayor claridad? ¿Confirma o refuta la tesis?))

He resaltado allí en color)

¿O todavía estás en la época anterior a

#property strict
¿vivir?
 
Peter, tengamos un reto. Si propones un ejemplo en el que los globales sean realmente necesarios, lo reescribiré sin usarlos.
 
Vasiliy Sokolov:
Petr, tengamos un reto. Si me propones un ejemplo en el que los globales sean muy necesarios, lo reescribiré sin usarlos.
Mi editor de visados. ))))

Es una broma. Muy bien, Vassili, lo pensaré.
 
Vladimir Simakov:

Ahí he resaltado el color).

¿O todavía estás en la época anterior a

¿Era?
Se escribe de las dos maneras. Lo he comprobado. No hay ningún error...
 
Vasiliy Sokolov:
Peter, tengamos un reto. Si propones un ejemplo en el que los globales sean realmente necesarios, lo reescribiré sin usarlos.
Pero dime, ¿por qué estás en contra de ellos? No puedo entenderlo. Negarse a globaloks, como dispararse en el pie. Son muy útiles, ¿no?
 
Реter Konow:
Pero dime, ¿por qué estás en contra de ellos? No puedo entenderlo. Rechazar los globales es como dispararse en el pie. Son tan convenientes, ¿no?
¡Peter, al contrario!
 
Vasiliy Sokolov:
¡Peter, al contrario!
Cuando se programa de forma procedimental, ¿es posible prescindir de las variables declaradas en el ámbito global? Técnicamente no estoy seguro de cómo escribir la funcionalidad de EA sin OOP y no usar variables globales.

Las funciones deben tener una memoria compartida.