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
Si el número de objetos se conoce de antemano y es constante durante la ejecución del programa, entonces no se necesita new. En todos los demás casos, se necesita nuevo.
No, este es mi ejemplohttps://www.mql5.com/ru/forum/160683/page861#comment_11840254
es conveniente pasar parámetros al constructor y si el usuario cambia la configuración, es más rápido matar la clase en OnDeinit() y luego crearla con los nuevos parámetros en OnInit()
;)
no, aquí está mi ejemplohttps://www.mql5.com/ru/forum/160683/page861#comment_11840254
es conveniente pasar parámetros al constructor y si el usuario cambia la configuración, es más rápido matar la clase en OnDeinit() y luego crearla con los nuevos parámetros en OnInit()
;)
Los parámetros también se pueden pasar al constructor sin new.
Los parámetros se pueden pasar al constructor sin new.
Entonces, ¿cómo va a cambiar los campos de clase (el usuario cambió la configuración de EA)? - ¿Escribirás un método más? Pensé que en la última página estabas luchando por"una variable máspara un puntero"."¡y aquí tienes todo un método!
;)
y... ¿cómo va a cambiar los campos de la clase (ajustes de EA modificados por el usuario)? - ¿Escribirás otro método? Pensé que en la última página estabas luchando por"una variable más para el puntero"." con el que estabas luchando, ¡y aquí tienes todo un método!
;)
de ninguna manera ;)
cambiar la configuración del EA
de ninguna manera ;)
cambiar la configuración de EA
Buena emboscada.
Sin embargo, preferiría añadir un método para cambiar los parámetros, pero no usar new sólo por los parámetros.Buena emboscada.
Sin embargo, prefiero añadir un método para cambiar los parámetros, pero no usar new sólo por los parámetros.¿no usar lo nuevo es una superstición? )))
¡imho, si es conveniente, hay que usarlo! - Su ejemplo será reescrito en 2 clics usando new y todo funcionará correctamente y manejará la situación cuando el usuario cambie la configuración
¿no usar lo nuevo es superstición? )))
¡imho, si es conveniente, hay que usarlo! - Tu ejemplo se reescribirá en 2 clics usando new y todo funcionará correctamente y manejará la situación cuando el usuario cambie la configuración
No es superstición, sólo pereza, históricamente, debido a las circunstancias. Tienes que escribir delete y hacerlo en Deinit(). Pero la función Deinit() no estaba presente en la plantilla por defecto. Ahora miro - la plantilla de EA tiene Deinit(), pero no estaba allí antes.
No es superstición, sólo pereza, históricamente, debido a las circunstancias. Deberíamos escribir delete, y hacerlo en Deinit(). Pero la función Deinit() no estaba presente en la plantilla por defecto. Estoy mirando ahora - hay Deinit() en la plantilla de EA, pero no estaba allí antes.
No escriba borrar - todo funcionará correctamente, este pecado (me refiero a la superstición) ) ) se apoderará del terminal y murmurará en el registro "48 bytes de memoria filtrada", "quedan 2 objetos de tipo CX" y "quedan objetos sin borrar".
HH: en la plantilla del indicador no hay Deinit() - esto es molesto
no escriba borrar - todo funcionará correctamente, este pecado (me refiero a la superstición)) ) tomará el control del terminal y murmurará en su registro "48 bytes de memoria filtrada", luego "quedan 2 objetos de tipo CX" y "quedan objetos sin borrar"
SZY: en un modelo de creación del indicador no hay Deinit() - se cuela
Funcionará sin borrar, pero es inútil. Pero, ¿se ocupa el terminal de este problema? Sólo informa de las fugas de memoria, pero no dedica los mismos objetos.