Quina és la diferència principal entre delete [] i delete?
Quina és la diferència principal entre delete [] i delete?

Vídeo: Quina és la diferència principal entre delete [] i delete?

Vídeo: Quina és la diferència principal entre delete [] i delete?
Vídeo: Misery Loves Company | Critical Role | Campaign 2, Episode 93 2024, De novembre
Anonim

El motiu pel qual n'hi ha separats esborrar i suprimir operadors és això esborrar anomena onedestructor mentre que suprimir necessita cercar la mida de la matriu i anomenar tants destructors. Naturalment, utilitzar-ne un on es requereix l'altre pot causar problemes.

A més, quina diferència hi ha entre free () i delete?

Diferències entre esborrar operador i gratuït () funció esborrar és un operador mentre que gratuït () és funció de biblioteca. eliminar gratis la memòria assignada i el destructor de trucades. Però gratuït () desassignar memòria però no crida al destructor. esborrar és més ràpid que gratuït () perquè un operador sempre és més ràpid que una funció.

Sapigueu també, què fa suprimir a C ++? esborrar () en C ++ Eliminar és un operador que és s'utilitza per destruir objectes de matriu i no matriu (punter) que són creat per una nova expressió. Que significa Suprimeix l'operadordesloca la memòria des de la pila. Punter a objecte és no destruït, valor o bloc de memòria apuntat per un punter és destruït.

D'aquí, quina diferència hi ha entre eliminar i eliminar?

Suprimeix i eliminar es defineixen de manera força semblant, però el principal diferència entre ells és això esborrar significa esborrar (és a dir, convertit en inexistent o no recuperable), mentre que eliminar connota per emportar i parar (però es manté en existència).

De quina manera el destructor és diferent de l'operador de supressió?

El primer destructor , anomenat objecte complet destructor , realitza la destrucció sense cridar esborrar () sobre l'objecte. El segon destructor , anomenat el eliminant el destructor , trucades esborrar () després de destruir l'objecte. Si es destrueix un objecte però no esborrat del munt, trucant eliminació de l'operador està malament.

Recomanat: