No se trata de un puntero a sí mismo, sino de un puntero asociado al identificador del campo en la implementación del objeto.
Es decir, puede haber una variable local con el mismo identificador que el campo en algún método del objeto, en cuyo caso se puede utilizar para distinguir un puntero al campo del objeto de un puntero a una variable local.
¿con qué fin se podría utilizar? ¿se puede utilizar como ejemplo?
Barbarian2: ¿Para qué podría servir esto? ¿Puede darme un ejemplo?
Esto se utiliza más a menudo en los constructores de clases, para no inventar nuevos identificadores, porque es en los constructores donde se asignan los valores de los argumentos a los campos de los objetos.
En este caso, cuando se crea un LineNode, es necesario especificar el nodo padre al que pertenece la instancia actual de LineNode. El nodo padre podrá entonces referirse a esta instancia por referencia. En este ejemplo, la palabra esto se utiliza dos veces. En el primer caso, la palabra this especifica que la variable childNode se refiere específicamente a la clase actual, mientras que childNode sin this es una variable del método LinkWithNode del mismo nombre. En el segundo caso, esto devuelve la instancia actual de la clase y GetPointer recibe un puntero a ella. Esto permite vincular un LineNode en el momento de su creación.
En este caso, cuando se crea un LineNode, es necesario especificar el nodo padre al que pertenece la instancia actual de LineNode. El nodo padre podrá entonces referirse a esta instancia por referencia. En este ejemplo, la palabra esto se utiliza dos veces. En el primer caso, la palabra this especifica que la variable childNode se refiere específicamente a la clase actual, mientras que childNode sin this es una variable del método LinkWithNode del mismo nombre. En el segundo caso, esto devuelve la instancia actual de la clase y GetPointer recibe un puntero a ella. Así, es posible vincular el LineNode en el momento de la creación.
Es decir, en el segundo caso, ¿se reducirá el código?
Barbarian2: es decir, en el segundo caso, ¿se reducirá el código?
Sea cual sea la abreviatura (en este caso), te estás centrando en lo que no debes. El uso de esto puede ser variado. Lo importante es entender que esto es un sinónimo de la instancia del objeto donde se utiliza esto. Al definir una clase, cuando todavía no hay instancias de esto, esta es la única manera de decirle al compilador lo que el programador quiere decir.
Barbarian2: es decir, en el segundo caso, ¿se reducirá el código?
No, no es eso. Esto nos permite controlaruna instancia de una clase ya en su definición. Sabiendo esto, podemos imponer nuestro propio comportamiento en una instancia particular. Así se consigue un alto grado de flexibilidad y abstracción.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
No se trata de un puntero a sí mismo, sino de un puntero asociado al identificador del campo en la implementación del objeto.
Es decir, puede haber una variable local con el mismo identificador que el campo en algún método del objeto, en cuyo caso se puede utilizar para distinguir un puntero al campo del objeto de un puntero a una variable local.
¿Para qué podría servir esto? ¿Puede darme un ejemplo?
¿pero para qué fines puede ser necesario? ¿puede dar un ejemplo?
En este caso, cuando se crea un LineNode, es necesario especificar el nodo padre al que pertenece la instancia actual de LineNode. El nodo padre podrá entonces referirse a esta instancia por referencia. En este ejemplo, la palabra esto se utiliza dos veces. En el primer caso, la palabra this especifica que la variable childNode se refiere específicamente a la clase actual, mientras que childNode sin this es una variable del método LinkWithNode del mismo nombre. En el segundo caso, esto devuelve la instancia actual de la clase y GetPointer recibe un puntero a ella. Esto permite vincular un LineNode en el momento de su creación.
En este caso, cuando se crea un LineNode, es necesario especificar el nodo padre al que pertenece la instancia actual de LineNode. El nodo padre podrá entonces referirse a esta instancia por referencia. En este ejemplo, la palabra esto se utiliza dos veces. En el primer caso, la palabra this especifica que la variable childNode se refiere específicamente a la clase actual, mientras que childNode sin this es una variable del método LinkWithNode del mismo nombre. En el segundo caso, esto devuelve la instancia actual de la clase y GetPointer recibe un puntero a ella. Así, es posible vincular el LineNode en el momento de la creación.
es decir, en el segundo caso, ¿se reducirá el código?
es decir, en el segundo caso, ¿se reducirá el código?
No, no es eso. Esto nos permite controlar una instancia de una clase ya en su definición. Sabiendo esto, podemos imponer nuestro propio comportamiento en una instancia particular. Así se consigue un alto grado de flexibilidad y abstracción.
Un consejo. Estoy pasando de mql4 a 5, voy a escribir un indicador para 1000 o 10k buffers. ¿Es posible nombrar los buffers con variables?
Como
while( a<1000)
{
a++ B++
nombre del buffer = buff+a
buff(a)=iMA(null, B,) }
Y el procesamiento posterior del buffer con el mismo bucle
O cualquier otra forma de reducir el tiempo y el código con las nuevas características de mql5.
En primer lugar, el límite es de 256 búferes (puedo estar equivocado).
Y los buffers están bien, puedes ponerlos en clases, darles alias y buscar por alias.
En algún lugar de los artículos tol64 vio, no puedo recordar a simple vista, buscarlo.
En primer lugar, el límite es de 256 búferes (puedo estar equivocado).
Y todo está bien con los buffers, puedes ponerlos en clases, darles alias y buscar por alias.