![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
¿Así que propones que se prohíba por completo el nombramiento implícito de los punteros? No creo que mucha gente aquí esté contenta con eso.
Que todo el mundo pueda elegir.
Desde luego, no quiero ese tipo de trucos.
Bueno, eso no hace falta decirlo. Hay una fuga de memoria.
¿Una fuga de memoria, dices? ¿Qué te parece esto? )))
¿Una fuga de memoria, dices? ¿Qué te parece esto? )))
delete item;
Por lo tanto, supone que el sujeto está preparado para ser tratado de esa manera. ¿Cuántos prevén esta posibilidad?
Esto supone que el objeto está preparado para ser tratado de esta manera. ¿Prevé mucha gente esa posibilidad?
Creo que si alguien escribe la palabra new, debería saber exactamente dónde se encuentra la correspondiente palabra delete en otra parte de su código.
Que todo el mundo pueda elegir.
Desde luego, no necesito esos trucos.
Ya lo uso en MQL4. ¿Cómo va a funcionar entonces, si la sintaxis del lenguaje es la misma?
Pues bien, como protección contra estas acciones se puede crear un método privado en una clase:
Aunque, sinceramente, no veo el problema aquí. Si asignas algo a un objeto de clase, a priori esperas que se llame al operador de copia. Si lo quieres, lo consigues. ¿Qué diferencia hay si se trata de un puntero o de un objeto? El tipo de clase es el mismo. No se puede asignar ninguna clase a la izquierda. Por eso, todo parece más bien un aburrimiento.
El caso opuesto, con el puntero a la izquierda, es otra cosa. Allí se podría haber esperado asignar algo al puntero, pero resultó ser la copia de un objeto.
El caso opuesto, con el pun tero a la izquierda, es diferente. Ahí podrías esperar asignar algo al puntero, pero resulta que estás copiando un objeto.
Y no puedes prohibirlo, de lo contrario no podrás copiar el objeto cuando realmente lo necesites.
Como resultado, hay que dejar todo como está. Sólo hay que ser consciente de lo que se hace.
Y no puedes prohibirlo, de lo contrario no podrás copiar el objeto cuando realmente lo necesites.
Al final, hay que dejarlo como está. Sólo sé consciente de lo que estás haciendo.
¡О! Eso es lo principal.
¿Hay mucha gente aquí que sepa navegar por los modos de gestión de la memoria? Entender la diferencia entre AUTOMÁTICO y DINÁMICO.
Y han escuchado algo sobre STATIC y BASED (aunque no es necesario).
Y no puedes prohibirlo, de lo contrario no podrás copiar el objeto cuando realmente lo necesites.
Al final, hay que dejarlo como está. Sólo hay que ser consciente de lo que se hace.
¿Por qué no puede funcionar? Hay operadores * y & para reducirlo a lo necesario.
¿Dónde hay un *?