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
Buenas tardes. Soy principiante. Tengo una duda sobre el uso del icono "*" (asterisco).
En el archivo samplelist
"*" se utiliza para declarar un puntero a un objeto - esto está bastante claro.
A continuación:
No está claro para qué se utiliza el signo "*".
Según la ayuda,"es posible crear dinámicamente objetos de tipo complejo. El operador new no se utiliza aquí. Por favor, explique con más detalle cómo y en qué casos se puede utilizar el signo "*".
Además, sin embargo:
No está claro qué significa el signo "*" colocado ahí.
Se puede escribir así
No habrá ninguna diferencia, sólo afecta al estilo del diseño y a un pequeño enfoque ideológico.
Puede escribirlo así
No habrá ninguna diferencia, sólo se trata del estilo de diseño y de un pequeño enfoque ideológico.
Es decir
CListItem *next(){return(next);}esto es una declaración de un puntero al objeto (¿o método?) next()? Y luego, entre llaves, se devuelve el propio objeto next? ¿Lo he entendido bien?
Entiendo que todo debería ser muy sencillo, pero como no me he topado con la programación orientada a objetos antes, estoy vagando en 3 pinos. Por favor, hazme entender.
Es decir.
¿es una declaración de un puntero al objeto (¿o método?) next()?
Y luego, entre llaves, se devuelve el objeto siguiente? ¿Lo he entendido bien?
El cuerpo de la función se da entre llaves,
{return(next);}significa que la función devolverá la variable next, que tiene el tipo de un puntero a un objeto de la clase CListItem. En general, esto coincide con el tipo de la función.
Justo después del primer ejemplo, el artículo contiene la frase "La variable pstatus es un puntero de un objeto, pero "olvidamos" deliberadamente crear el propio objeto utilizando el operador new y lo pasamos como parámetro a la función PrintStatus()".
1. No está claro qué pasaste "exactamente": ¿un puntero o un objeto?
2. No hay ninguna función PrintStatus() en el ejemplo.
Creo que hay un error:
Parece que el nuevo elemento de la lista tiene prev y first referenciando al segundo elemento, y el segundo elemento no obtiene una referencia al primer elemento.Justo después del primer ejemplo, el artículo contiene la frase "La variable pstatus es un puntero a un objeto, pero "olvidamos" deliberadamente crear el propio objeto con el operador new y lo pasamos como parámetro a la función PrintStatus()".
1. No está claro qué se pasó exactamente: ¿un puntero o un objeto?
2. No hay función PrintStatus() en el ejemplo.
Más vale tarde que nunca. Gracias, arreglado en el artículo. Se ha eliminado el final de la frase
Justo después del primer ejemplo, el artículo contiene la frase "La variable pstatus es un puntero de un objeto, pero "olvidamos" deliberadamente crear el propio objeto utilizando el operador new y lo pasamos como parámetro a la función PrintStatus()".
Creo que hay un error:
Parece que el nuevo elemento de la lista tiene prev y first referenciando al segundo elemento, y el segundo elemento no obtiene una referencia al primer elemento.Sí, hay un error tipográfico. En lugar de
debería
corregido.Todavía no entiendo acerca de los punteros y referencias en MQL5 y ahora en MQL4. ¿Cuál es la diferencia entre pasar por referencia y puntero a excepción de código extra? Hay una diferencia en C ++, pero ¿qué es aquí? Si no es difícil, por favor escriba información más detallada.