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
Quieres (como creo que es obvio) - obtener nombres anulados en las variables de nombre de archivo...
Para que Init() funcione correctamente, debe llamarse después de construir el objeto.
¿O no?
Creo que el VMT sólo se inicializa en el código de terminación del constructor, por lo que cuando se llama a un método en el constructor, se llamará a un método de tipo variable, no de tipo objeto construible.
Es algo así.
Al menos este funciona:
A MetaQuotes: Si lo he entendido bien, es mejor prohibir totalmente la llamada a funciones virtuales en los constructores. Para.
O hacer que funcionen correctamente. Lo cual dudo.
Sólo estoy conociendo los constructores paramétricos. Pero parece que en el ejemplo
Los paréntesis en la línea resaltada están mal colocados.Sólo estoy conociendo los constructores paramétricos. Pero parece que en el ejemplo
en la línea resaltada tiene los paréntesis equivocados.Post técnico (inicio de una pequeña discusión sobre la inicialización, también en los constructores). Movido, para que no se pierda bajo las pesadas pisadas de los recién llegados: https://www.mql5.com/ru/forum/58/page31#comment_66890
Una pregunta sobre la inicialización. Como regla general, la inicialización de las variables de cadena y de los objetos complejos se hace automáticamente, "por defecto". Esto hace que se desperdicie una cierta cantidad de potencia de cálculo del ordenador (yo lo llamo "reloj de ordenador", perdón por los términos de aficionado).
Ahora hay listas de inicialización que permiten inicializar las variables con valores personalizados. ¿Hay alguna diferencia en la velocidad de inicialización entre la inicialización automática y la inicialización con un valor personalizado? En otras palabras, ¿aumenta el número de "golpes de ordenador" cuando se utilizan listas de inicialización (y valores personalizados) en comparación con la inicialización automática?
Y si ahorramos unos cuantos ciclos de reloj, ¿habrá una ganancia significativa? Sobre todo porque la inicialización se hace una vez, y los valores tendrán que ser asignados más tarde.
Esta es una pregunta importante para mí personalmente, porque quiero entender la técnica.
El enfoque correcto, todo sería así. Las listas de inicialización son una consecuencia de la introducción de constructores paramétricos.
Examinemos dos ejemplos:
Todo está escrito en los comentarios.
Ejemplo 2:
Así, en la variante 1 tenemos 1 llamada de Init y en la variante 2 tenemos 2 llamadas. Y como la función "me gusta" es muy pesada, hay una ventaja.TheXpert, ¡muchas gracias! Lo investigaré.
Entendí indirectamente de sus palabras, que no hay diferencia en la velocidad entre la auto-inicialización de la variable de tipo " cadena, matriz dinámica y objeto complejo" y la inicialización del usuario de la misma variable.
De tus palabras he entendido implícitamente que no hay diferencia de velocidad entre la autoinicialización de una variable de tipo " cadena, matriz dinámica y objeto complejo" y la inicialización por parte del usuario de la misma variable.