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
que son equivalentes
que son equivalentes.
Olvida esa atribución por completo.
Olvídate por completo de esta tarea.
Así que no soy yo quien debe olvidarse, es el compilador el que no debe permitirte escribirlo así.
¡Y por el momento no sólo compila sino que se ejecuta sin errores!
Así que no soy yo el que tiene que olvidarse, es el compilador el que no debe permitir que se escriba así.
¡Y por el momento no sólo compila sino que se ejecuta sin errores!
El compilador lo permite porque se puede, si se sabe lo que se hace.
class A { public: int iValue; A(){Print("++");} ~A(){Print("--");} }; //...................... A m_A[2]; void OnStart() { A a; m_A[0] =a; m_A[1] = new A(); }
Ejecute y vea cuántas veces y cuándo se llama al constructor y al destructor.
m_A[0]=a; en este caso es igual a: m_A[0].iValor=a.iValor;
new A(), en este caso, crea un nuevo objeto, llamémoslo temp y ocurre lo siguiente: m_A[1].iValue=temp.iValue;
Ejecute y vea cuántas veces y cuándo se llama al constructor y al destructor.
m_A[0]=a; en este caso es igual a: m_A[0].iValor=a.iValor;
La segunda línea de este ejemplo es incorrecta
No se puede guardar un puntero en un objeto. El compilador simplemente no lo nota.
La segunda línea de este ejemplo no es correcta
No se puede guardar un puntero en un objeto. Y el compilador no lo nota.
Ejecute y vea cuántas veces y cuándo se llama al constructor y al destructor.
m_A[0]=a; en este caso es igual a: m_A[0].iValor=a.iValor;
new A(), en este caso, crea un nuevo objeto, llamémoslo temp y ocurre lo siguiente: m_A[1].iValue=temp.iValue;
Probablemente constructor 3, destructor 2. El resto es correcto.
y sucede lo siguiente: m_A[1].iValue=temp.iValue;
Esta es la cuarta interpretación))
Entonces, ¿por qué es necesario llamar a la supresión en la salida? ¿Para un objeto temporal?
Esta es la cuarta interpretación))
Entonces, ¿por qué la salida tiene que llamar a la supresión? ¿Para un objeto temporal?