No es que el destructor puedas omitirlo y que no sirva para nada. Es que si estas en un programa tan pequeño como este la memoria utilizada es despreciable. Pero si estas con un videojuego, no te interesa que todos los personajes que vas matando se queden ahi en memoria hasta que mates 500, te maten a ti, y despues se liberen esos 500 personajes que tu mataste. Eso seria inviable, llenaria tu ram innecesariamente y haria el ordenador MUY lento. Es importante que si por ejemplo matamos un personaje, ese personaje hace la animacion de morir y desaparece. En este caso sería importante que dentro del destructor indiquemos que haga su animacion de morir. Por ejemplo: if(vida_personaje
Estaba buscando dentro de los comentarios algo si alguien daba una respuesta como esta, porque a mí también me surgió esa misma idea. Y otra forma de optimización es usando arrays y matrices de memoria dinámica en vez de las normales, e incluso mejor con las pilas, colas, listas y árboles, porque en ellas también se libera memoria y no solo se cambian los datos a cero. Es el Método Destructor, delete[ ] o delete
3:35 .. en caso que no tengan el símbolo curvilínea para el destructor en su teclado, lo pueden hacer también con AltGr + 4, sueltan y luego presionan la barra espaciadora.
Me hice drama leyendo en el deitel la función acotada que tiene el destructor. Ya puedo respirar normalmente. Gracias y espero que desde el cielo te lleguen los laiks
una forma de comprobar que el destructor funciona es ejecutando un método del objeto luego de invocar el destructor para ver el mensaje de error que sale
Amigo gracias te queria comentar que lo hice y funciona 100% como quería asegurarme que el objeto había sido destruido después de llamar al destructor mande a llamar el método mostrarDatos y obvio tira un error porque el objeto ya no existe así que esta muy bien, pero hice otra prueba que el cliente sea el que ingrese los datos (desde el teclado), en lugar de ingresarlos en duro y adivina que? después de "destruir mi objeto" si llamo al método mostrarDatos me los muestra normal osea el objeto no se destruyo? a que crees que se deba? y porque el cambio?
No quedo claro para que es necesario "borrar" con el destructor, cual es la finalidad practica? si no "borramos, eliminamos" que sucede de malo, disculpa soy proncipiante.
Mateo Linás Chaín comentó: No es que el destructor puedas omitirlo y que no sirva para nada. Es que si estas en un programa tan pequeño como este la memoria utilizada es despreciable. Pero si estas con un videojuego, no te interesa que todos los personajes que vas matando se queden ahi en memoria hasta que mates 500, te maten a ti, y despues se liberen esos 500 personajes que tu mataste. Eso seria inviable, llenaria tu ram innecesariamente y haria el ordenador MUY lento. Es importante que si por ejemplo matamos un personaje, ese personaje hace la animacion de morir y desaparece. En este caso sería importante que dentro del destructor indiquemos que haga su animacion de morir. Por ejemplo: if(vida_personaje
💻 Apúntate al curso completo de Programación en C++:
Hotmart: hotmart.com/es/marketplace/productos/programacion-en-c-v0ivo/N78682741H
buen curso
No es que el destructor puedas omitirlo y que no sirva para nada. Es que si estas en un programa tan pequeño como este la memoria utilizada es despreciable. Pero si estas con un videojuego, no te interesa que todos los personajes que vas matando se queden ahi en memoria hasta que mates 500, te maten a ti, y despues se liberen esos 500 personajes que tu mataste. Eso seria inviable, llenaria tu ram innecesariamente y haria el ordenador MUY lento. Es importante que si por ejemplo matamos un personaje, ese personaje hace la animacion de morir y desaparece. En este caso sería importante que dentro del destructor indiquemos que haga su animacion de morir. Por ejemplo: if(vida_personaje
Capo!
grosssssssssssssso
Este capitulo lo tendria que haber dado ud. Mateo. Saludos.
Estaba buscando dentro de los comentarios algo si alguien daba una respuesta como esta, porque a mí también me surgió esa misma idea.
Y otra forma de optimización es usando arrays y matrices de memoria dinámica en vez de las normales, e incluso mejor con las pilas, colas, listas y árboles, porque en ellas también se libera memoria y no solo se cambian los datos a cero.
Es el Método Destructor, delete[ ] o delete
@@minecraftpapiernik1930 esacto :v
Fido, nunca te olvidaremos
Press ~ to pay respects
~
>>>>>>
~
También pueden escribir alguna acción dentro del destructor para verificar que su llamado ha sido correcto, por ejemplo escribir dentro cout
3:35 .. en caso que no tengan el símbolo curvilínea para el destructor en su teclado, lo pueden hacer también con AltGr + 4, sueltan y luego presionan la barra espaciadora.
Crack
tambien se puede hacer con alt+126 en el teclado numerico
Gracias por dejar este legado, espero te encuentres en un lugar mejor. Descansa en paz. F en el chat
RIP Fido :'v
6:06 Vine a aprender, no a llorar ;-;
Somos 2 :'v
RIP Fido. Murio por una enfermedad :'v
@@lnicofideo6530 el tambien murio por una enfermedad, maldito cancer.
Eres genial, te sigo desde que comenzaste la serie; explicas muy bien!
una manera de poner este símbolo ~ se presiona Alt+1+2+6 en la tabla numerica
Muchas gracias, tus explicación son excelentes sigue así, me gustan muchos tus vídeos .
Me hice drama leyendo en el deitel la función acotada que tiene el destructor. Ya puedo respirar normalmente. Gracias y espero que desde el cielo te lleguen los laiks
2:05 Yo al menos en mi país lo conozco como "rabillo" o "moño" de la ñ. Saludos desde España. Muy buenos vídeos, de verdad. Muchas gracias 😊
Alejandro Taboada murió hace un año :'c
@@oscaralvaro7715 cómo? Ostras, no me jorobes😭😱
@@gogoat2412 googlealo, fue muy triste
vuela alto 😇😇
~ el perrito enfermo y murio me cage de risa jajajajaj
Jaja se la mamo con esa jaja y con los ejemplos que da jeje
bro como saco ese signo del destructor??
2:03 el nombre del simbolo de la ñ se llama virgulilla
Excelente , ojala tu huberias sido mi profesor de informatica 2 .
Entonces has matado a Fido????
Destructor de perros.
Programación ATS
En que ocasión el destructor contiene deletes de los atributos construidos?
una forma de comprobar que el destructor funciona es ejecutando un método del objeto luego de invocar el destructor para ver el mensaje de error que sale
Basicamente un destructor es para limpiar memoria
Muy bueno!! Eres un crack
Muchas gracias :) Un saludo
@ gracias por todo amigo
@@abelzurita3202 :'/
Crack! Claro y conciso!
Una consulta me pasaron este código para un árbol mediante clases lo que no me queda claro es porque en el destructor hace esa modificación y ademas que en los atributos hay métodos es eso valido o lo he comprendido mal help?
#include
#include
#include
#include
using namespace std;
template
class Arbol {
struct Nodo {
T e;
Nodo* izq;
Nodo* der;
Nodo(T e = 0, Nodo *izq = nullptr, Nodo *der = nullptr) : e(e), izq(izq), der(der) {}
};
int n;
Nodo* raiz;
void insertar(T e, Nodo*& nodo) {
if (nodo == nullptr) {
nodo = new Nodo(e);
n++;
} else if (e e) {
insertar(e, nodo->izq);
} else {
insertar(e, nodo->der);
}
}
void preOrden(Nodo* nodo, function p) {
if (nodo != nullptr) {
p(nodo->e);
preOrden(nodo->izq, p);
preOrden(nodo->der, p);
}
}
void enOrden(Nodo* nodo, function p) {
if (nodo != nullptr) {
enOrden(nodo->izq, p);
p(nodo->e);
enOrden(nodo->der, p);
}
}
void postOrden(Nodo* nodo, function p) {
if (nodo != nullptr) {
postOrden(nodo->izq, p);
postOrden(nodo->der, p);
p(nodo->e);
}
}
public:
Arbol() : n(0), raiz(nullptr) {}
~Arbol() {
stack pilita;
pilita.push(raiz);
while (pilita.size() > 0) {
Nodo* nodo = pilita.top();
pilita.pop();
if (nodo != nullptr) {
pilita.push(nodo->izq);
pilita.push(nodo->der);
delete nodo;
}
}
}
void insertar(T e) {
insertar(e, raiz);
}
void preOrden(function p) {
preOrden(raiz, p);
}
void enOrden(function p) {
enOrden(raiz, p);
}
void postOrden(function p) {
postOrden(raiz, p);
}
};
int main() {
int a[] = { 41, 30, 76, 92 ,28, 73, 90, 5, 65, 73 };
Arbol* arbol = new Arbol();
for (int i = 0; i < 10; i++) {
arbol->insertar(a[i]);
}
auto imprimir = [](int e) { cout
Hola!! Me dejaron de tarea hacer este destructor jaja!!
Hola, ¿sabes como hace google para devolvernos un valor al escribir contraseñas en los registros en puntos negros? GRACIAS
como puedo hacer 2 destructor dentro de una misma clase?
Por qué cuando pongo perro1.jugar(); después del destructor sigue funcionando?
el perro sigue vivo en tu corazon
Por que el destructor se ejecuta en el momento de compilación, no cuando estas escribiendo el código..
Alt 1+2+6
O Alt 126
En codigo acsii es la linea curveada uwu
129 capitulos dedicados a un solo lenguaje??!!?!?!!? Dios
deathnot3 Que haga de Java 👍👍
En realidad hay demasiadas cosas de c++ (como la STL) que las explica con metodos de c por lo cual son pocos :v
Ese carácter se llama "virgulilla"
6:56
Amigo gracias te queria comentar que lo hice y funciona 100% como quería asegurarme que el objeto había sido destruido después de llamar al destructor mande a llamar el método mostrarDatos y obvio tira un error porque el objeto ya no existe así que esta muy bien, pero hice otra prueba que el cliente sea el que ingrese los datos (desde el teclado), en lugar de ingresarlos en duro y adivina que? después de "destruir mi objeto" si llamo al método mostrarDatos me los muestra normal osea el objeto no se destruyo? a que crees que se deba? y porque el cambio?
Muy raro, lo hice de varias formas, pidiendo los datos al usuario o inicializandolos en el main() e igual destruye de forma correcta el objeto
hola amigo muy buena la forma en que explicas me encantaria que hicieras un tutorial de c#NET core mvc, por fa
Esa tilde se llama virgulilla en castellano. Un saludo a todos.
JAJAJAJAJAJA el perrito enfermo y se murio
6:09 que frozen
minuto 6:11 D: que le paso a Firulais
maquina
como puedo crear una interfaz gráfica para c++
con qt
Se llama Virgulilla
El guión curveado se llama virguilla
Hola!.. hay algún caso en especial donde el destructor deba recibir algún cuerpo y ser definido?..
alejandro.~Amigo( ); // :'V
El dios destructor es ~
No quedo claro para que es necesario "borrar" con el destructor, cual es la finalidad practica? si no "borramos, eliminamos" que sucede de malo, disculpa soy proncipiante.
Mateo Linás Chaín comentó: No es que el destructor puedas omitirlo y que no sirva para nada. Es que si estas en un programa tan pequeño como este la memoria utilizada es despreciable. Pero si estas con un videojuego, no te interesa que todos los personajes que vas matando se queden ahi en memoria hasta que mates 500, te maten a ti, y despues se liberen esos 500 personajes que tu mataste. Eso seria inviable, llenaria tu ram innecesariamente y haria el ordenador MUY lento. Es importante que si por ejemplo matamos un personaje, ese personaje hace la animacion de morir y desaparece. En este caso sería importante que dentro del destructor indiquemos que haga su animacion de morir. Por ejemplo: if(vida_personaje
como se escribe este simbolo ~?
RIP fido
y si tengo una herencia a quien se debe de destruir a la clase padre o a la hija?? o a las 2
No se destruyen las clases, se destruyen los objetos que son los que consumen la memoria al ser instanciados.
programacionATS.~Fido();
fidooo :(
Porque tenias que matar a Fido? F por Fido :´(
destruir perros nunca habia sido tan sencillo
~Perro = Pipo muere T_T
alt + 126 = ~
pobre fido :(
En español se llama "virgulilla "
que racista :/
¿quién es racista ?
Taboada: "Ahora estamos destruyendo el objeto."
Prro procede a m0r1rc3*.
Taboada: "Gen... Bueno, no es genial, pero es que para eso funciona. :v"
hola no vale tu programa le hise lo mismo y no funciona