La búsqueda no funciona. Puede que me esté repitiendo, pero la pregunta es: ¿puede un objeto de clase destruirse a sí mismo? Es decir, primero obtenemos una referencia del objeto a sí mismo en la clase objeto utilizando la palabra reservada this, y luego aplicamos el operador de borrado al descriptor del objeto correspondiente (puntero).
Algo así como:
¿O es mejor/preferible eliminar un objeto "externamente" en lugar de "internamente"?
También me preguntaba sobre esta cuestión. Llegué a la siguiente conclusión: el objeto puede borrarse a sí mismo (sin dolor), pero hay que tener en cuenta que los datos del objeto (variables) no existirán después, por lo que no se podrá llamar a ellos. Pero en mi opinión es una forma sucia, mejor desde fuera. Y si el objeto se borra a sí mismo, sólo puede ser creado en new.
220Volt: Yo también me preguntaba sobre este tema. La conclusión es la siguiente: el objeto puede borrarse a sí mismo (sin dolor), pero debemos recordar que después de eso los datos del objeto (variables) no existirán, por lo que no habrá llamadas a ellos. Pero, en mi opinión, esta es una manera desordenada, mejor fuera.
Sí, lo uso desde hace un año :) Muy práctico si el objeto ya no se necesita. No entiendo por qué lo consideras como una forma "sucia".
Tal vez, empiece por leer la documentación del lenguaje con el que pretende trabajar y ver las definiciones que se utilizan para los fines de ese lenguaje de programación.
class CCC
{
public:
datetime start; //Сохраняем время создания объекта класса ССС
CCC(void) : start(TimeCurrent()) {}; //Функция TimeCurrent() указана без символа "точка с запятой"
~CCC(void) {};
}
voidOnTick()
{
CCC ccc;
}
Eso es porque falta el ; en la línea 7, mientras que las líneas 6 y 5 no lo necesitan.
Eso es porque falta el ; en la línea 7, mientras que las líneas 6 y 5 no lo necesitan.
Extraño, todo compila en mi código incluso después de tus líneas adicionales con OnTick(). Sólo después de la declaración de la clase CCC hay que poner un punto y coma. Como has escrito, - tienes que poner un punto y coma en la 7ª línea.
Parece que no compila.
La búsqueda no funciona. Puede que me esté repitiendo, pero la pregunta es: ¿puede un objeto de clase destruirse a sí mismo? Es decir, primero obtenemos una referencia del objeto a sí mismo en la clase objeto utilizando la palabra reservada this, y luego aplicamos el operador de borrado al descriptor del objeto correspondiente (puntero).
Algo así como:
¿O es mejor/preferible eliminar un objeto "externamente" en lugar de "internamente"?
Yo también me preguntaba sobre este tema. La conclusión es la siguiente: el objeto puede borrarse a sí mismo (sin dolor), pero debemos recordar que después de eso los datos del objeto (variables) no existirán, por lo que no habrá llamadas a ellos. Pero, en mi opinión, esta es una manera desordenada, mejor fuera.
Tal vez, empiece por leer la documentación del lenguaje con el que pretende trabajar y ver las definiciones que se utilizan para los fines de ese lenguaje de programación.
Respetuosamente.
Estás pensando en la dirección correcta.
Este código no compila
Eso es porque falta el ; en la línea 7, mientras que las líneas 6 y 5 no lo necesitan.
Estás pensando en la dirección correcta.
Este código no compila
Eso es porque falta el ; en la línea 7, mientras que las líneas 6 y 5 no lo necesitan.
Parece que no compila.
Se compila (bueno, no soy exigente con el punto y coma ;-) ).
Así que el que pregunta tiene exactamente el problema con ellos.
En general, son nimiedades...
Este código no compila
Eso es porque falta el ; en la línea 7, mientras que las líneas 6 y 5 no lo necesitan.