Hoe werkt verwijderen in C++?
Hoe werkt verwijderen in C++?

Video: Hoe werkt verwijderen in C++?

Video: Hoe werkt verwijderen in C++?
Video: delete operator in C++ - 48 2024, December
Anonim

Wanneer verwijderen is gebruikt om geheugen vrij te geven voor a C++ klasse-object, de destructor van het object is aangeroepen voor het geheugen van het object is de toewijzing ongedaan gemaakt (als het object een destructor heeft). Als de operand naar de verwijderen operator is een aanpasbare l-waarde, zijn waarde is ongedefinieerd na het object is verwijderd.

De vraag is ook, wat is het verschil tussen verwijderen en verwijderen in C ++?

Beide worden voor hetzelfde doel gebruikt, maar toch hebben ze wat verschillen , de verschillen zijn: verwijderen is een operator terwijl free() een bibliotheekfunctie is. verwijderen maak het toegewezen geheugen vrij en roept destructor aan. Maar free() de-allocatememory maar roept destructor niet aan.

Men kan zich ook afvragen, hoe werkt C++ nieuw? Wanneer nieuwe wordt gebruikt om geheugen toe te wijzen voor a C++ class-object, wordt de constructor van het object aangeroepen nadat het geheugen is toegewezen. Bij het toewijzen van een array met behulp van de nieuwe operator, de eerste dimensie kan nul zijn - de nieuwe operator retourneert een unieke aanwijzer.

Je kunt je ook afvragen: wat is het nut van de operator new en delete in C++?

C++ ondersteunt dynamische toewijzing en deallocatie van objecten met behulp van de nieuwe en verwijder operators . Deze operators geheugen toewijzen voor objecten uit een pool genaamd thefree store. De nieuwe operator roept de speciale functie op operator nieuw , en de verwijder operator roept de speciale functie aan operator verwijderen.

Moet ik pointers C++ verwijderen?

1 Antwoord. jij niet moet verwijderen het, en bovendien moet je niet verwijderen het. Als de aarde een automatisch object is, wordt deze automatisch vrijgemaakt. Dus door handmatig verwijderen een wijzer ernaar toe ga je in ongedefinieerd gedrag.