Wat is het verschil tussen nieuw en verwijderen Operator in C ++

De grootste verschil tussen nieuwe en verwijder operator in C ++ is dat nieuw wordt gebruikt om geheugen toe te wijzen voor een object of een array, terwijl verwijderen wordt gebruikt om het toegewezen geheugen te herverdelen met de nieuwe operator.

Er zijn twee typen geheugen als statisch en dynamisch geheugen. Neem een ​​verklaring zoals int a; int array [10]; de programmeur weet al hoeveel geheugen deze variabelen nodig hebben. Dit geheugen is een statisch geheugen. Soms is het moeilijk om te bepalen hoeveel geheugen er nodig is om gegevens op te slaan. Daarom moet het geheugen tijdens runtime worden bepaald. Dit type geheugen is een dynamisch geheugen. We gebruiken nieuwe en verwijder operators in deze situaties.

Key Areas Covered

1. Wat is een nieuwe operator in C++
     - Definitie, functionaliteit
2. Wat is Operator verwijderen in C++
     - Definitie, functionaliteit
3. Wat is het verschil tussen nieuw en verwijderen Operator in C++
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

C ++, verwijderen Operator, Geheugentoewijzing, nieuwe Operator

Wat is nieuw in C++

De nieuwe operator wijst geheugen toe. Raadpleeg het onderstaande programma.

Figuur 1: C ++ -programma 1 met nieuwe operator

Volgens het bovenstaande programma is de ptr een wijzer van een integer type. In regel 7 verwijst ptr naar int-type geheugen. In regel 8 wordt de waarde ptr die verwijst naar 10. 10. Afdrukken * p geeft de waarde 10.

Evenzo is het mogelijk om als volgt arrays met nieuw te maken.

Figuur 2: C ++ -programma 2 met nieuwe operator

Volgens het bovenstaande programma is ptr een wijzer van een integer type. In regel 8 wijst ptr naar het geheugen van het int-type dat 5 integer-elementen kan opslaan. Vervolgens worden de integerwaarden opgeslagen in de array. Ten slotte wordt de lus door de array herhaald en worden de waarden afgedrukt.

Bovendien is het mogelijk om nieuwe objecten te maken met behulp van de nieuwe operator. Raadpleeg het onderstaande voorbeeld.

Figuur 3: C ++ -programma 3 met nieuwe operator

De klas is Student en heeft de constructor. In het hoofdprogramma is ptr een aanwijzer van het type Student. In regel 13 wordt de constructor aangeroepen. Daarom wordt een object Studenttype gemaakt. De cout-instructie in de constructor Student wordt uitgevoerd en die verklaring wordt weergegeven op de console.

Wat is verwijderen in C++

De delete-operator helpt om geheugen vrij te maken. Raadpleeg het onderstaande programma.

Figuur 4: C ++ -programma 1 met delete-operator

In het bovenstaande programma is ptr een int type pointer. In regel 7 wijst het naar int-type geheugen terwijl in regel 8 de waarde 10 wordt gegeven. Bovendien wordt in regel 11 ptr verwijderd.

Figuur 5: C ++ -programma 2 met delete-operator

Volgens het bovenstaande programma is ptr een wijzer van een integer type. In regel 8 verwijst ptr naar het geheugen van het int-type, dat 2 integer-elementen kan opslaan. Vervolgens worden de integerwaarden opgeslagen in de array. In regel 12 wordt ptr verwijderd. De delete-operator wijst het geheugen vrij.

Verschil tussen nieuwe en verwijderen Operator in C++

Definitie

Kortom, nieuw is een operator in C ++ die geheugen toewijst voor een object of een array van objecten. Verwijderen is daarentegen een operator in C ++ die een blok geheugen dat eerder is toegewezen voor een object dat met de nieuwe operator is gemaakt, de toewijzing ongedaan maakt. Deze definities bevatten het belangrijkste verschil tussen nieuwe en verwijderen operator in C++.

Gebruik

Bovendien helpt een nieuwe operator om geheugen voor een array of een object toe te wijzen, terwijl delete-operator het toegewezen geheugen aan een bepaald object of een array helpt toewijzen. Daarom is dit een ander verschil tussen de nieuwe en de delete-operator in C++.

Conclusie

Het basisverschil tussen nieuwe en delete-operator in C ++ is dat nieuw wordt gebruikt om geheugen toe te wijzen voor een object of een array, terwijl verwijderen wordt gebruikt om het toegewezen geheugen te alloceren met behulp van de nieuwe operator.

Referentie:

1. Nieuwe OPERATOR IN C - 47, Codearchery, 6 maart 2017, hier beschikbaar.
2. Verwijder operator in C - 48, Codearchery, 22 maart 2017, hier beschikbaar.