OOP, plantillas y macros en mql5, sutilezas y usos - página 4

 
Alexey Navoykov:
Yo ya lo he hecho - y no me arrepiento ni un poco ) Pero veo que a ti te gusta mucho limitarte con las restricciones artificiales impuestas por MQ ¿Tal vez eres masoquista? ) Te empeñas en convencerme de que es necesario. No es necesario, es forzado, esa es la cuestión.

Pareces más bien un masoquista. En lugar de seguir las reglas del lenguaje te has dedicado a escribir una muletilla que nadie necesita, intentando hacer pasar tu opinión por un axioma, a pesar de que no soy el único que te dice tus errores. Y encima, intenta hacer pasar su oficio por sutilezas y trucos. Y las sutilezas y características resultan ser el cumplimiento de las reglas descritas en la documentación.

Hable con los desarrolladores de las variedades del lenguaje C. Escuche la dirección del enlace al que será enviado. Y aquí crees que es aceptable exigir algo a los desarrolladores a cambio de tu propia ignorancia.

 
Alexey Viktorov:

Pareces más bien un masoquista. En lugar de seguir las reglas del idioma, te has dedicado a escribir una muletilla que nadie quiere.

Medio día invertido en escribir una muletilla me compensará en el futuro con un montón de tiempo y células nerviosas ahorradas, además de la comodidad del código (lo escribo como lo necesito).

tratando de hacer pasar tu opinión como axiomática, a pesar de que no soy el único que te dice tus errores.

...

Llévalo a los desarrolladores de lenguajes C.

¿Errores? ¿Has programado alguna vez en un lenguaje de programación real? No lo creo. Si no lo sabe, MQL se escribe de forma similar a C++. Así que en este caso los desarrolladores tuvieron un desliz y no tuvieron en cuenta algunos detalles y crearon un error que no se puede encontrar en los lenguajes de programación normales.

Y aquí consideras aceptable exigir algo a los desarrolladores en lugar de tu propia ignorancia.

Estás confundido de nuevo. Ya no pido nada.
 
Alexey Navoykov:

Medio día dedicado a escribir una muletilla me compensará en el futuro con un montón de tiempo y células nerviosas ahorradas, además de la comodidad del código (lo escribo como lo necesito)

¿Errores? ¿Has programado alguna vez en un lenguaje de programación real? No lo creo. Si no lo sabe, MQL se escribe de forma similar a C++. Así que en este caso los desarrolladores tuvieron un desliz y no tuvieron en cuenta algunos detalles y crearon un error que no se puede encontrar en los lenguajes de programación normales.

Estás confundido de nuevo. No estoy exigiendo nada.

¿Por qué los desarrolladores de mql deberían imitar a alguien?

 
Alexey Viktorov:

¿Por qué los desarrolladores de mql querrían emular a alguien?

Mira la documentación, lo dice todo en blanco y negro.
 
Alexey Viktorov:

Hable con los desarrolladores de las variantes del lenguaje C. Escuche la dirección del enlace al que será enviado. Y aquí crees que es aceptable exigir algo a los desarrolladores a cambio de tu propia ignorancia.

¿Qué tiene que ver la familia del lenguaje C con esto? Sólo está en µl. Eso es porque mk decidió hacer una compilación de varios pases para complacer a los que quieren.

void start() {
    int i = f();
}
int f() {return 0;}

Lo cual no deberías haber hecho.

ZS:

En general he escuchado aquí más de una vez que el c++ es un tiro en el pie, el 70% no se usa allí para nada, vamos a hacer un µl cómodo y seguro. Pero más bien parece que hay que reinventar este c++ "torcido" para codificar cómodamente :)

 
Alexey Navoykov:

Así que defiendes el uso masivo de variables globales, según entiendo. Entonces es poco probable que tú y yo nos entendamos.

Además, la propia función puede ser una plantilla. Y la instancia creada, respectivamente, debe ser parametrizada por el mismo tipo:

¿Su acción?

No es que sea partidario, pero no veo nada raro en declarar una instancia de una clase de una vez por todas, aunque no sea necesario más que para facilitar el uso de las variables estáticas. Y cuando últimamente yo mismo me he enfrentado a este error con las estáticas dentro de las funciones, simplemente decidí no declararlas nunca así (dentro de las funciones) y no hay ningún problema.

 
pavlick_:

Esto se debe a que mc ha decidido hacer una recopilación de varias pasadas en beneficio de aquellos que quieran hacer

que no deberían haber hecho.

Me temo que no entenderá lo que quieres decir )
 
pavlick_:

¿Qué tiene que ver la familia del lenguaje C con esto? Eso es lo único que está mal en Mcl. Esto se debe a que µ ha decidido hacer una compilación multipase para aquellos que lo quieran así.

Lo cual no deberías haber hecho.

ZS:

En general he escuchado aquí más de una vez que el c++ es un tiro en el pie, el 70% no se usa allí para nada, vamos a hacer un µl cómodo y seguro. Pero más bien parece que hay que reinventar este c++ "torcido" para codificar cómodamente :)

¿Dices que no se puede inicializar una variable con una función? ¿Lo he entendido bien?

 
Ilya Malev:

No es que sea partidario, pero no veo nada tenso en declarar una instancia de una clase inmediatamente después de su descripción, incluso si no se necesita para nada, excepto el uso conveniente de las variables estáticas. Y cuando hace poco yo mismo me enfrenté a este error con las estáticas dentro de las funciones, simplemente decidí no declararlas nunca así (dentro de las funciones) y no hay ningún problema.

Bueno, de eso es de lo que he empezado a hablar aquí. Estaba planeando reemplazar todos los estáticos con globales también (aunque es difícil, por supuesto). Pero como se muestra arriba, no funcionará con las plantillas. Con las macros también. Y lo uso todo ampliamente, así que hice mi implementación. Aunque no resuelve todos los problemas. Los arrays dinámicos todavía no pueden ser inicializados, los tipos constantes también, así que inequívocamente tienen que ser globalizados.
 
Alexey Viktorov:

¿Dices que no se puede inicializar una variable con una función? ¿Lo he entendido bien?

No, eso no es lo que estoy diciendo. En los pluses estáticos un miembro de la función será inicializado la primera vez que entre en la función. Sobre el multipaso - Tenía prisa, pensé ingenuamente que µl lo permitiría

int q = w;
int w;
Razón de la queja: