Vad är skillnaden mellan ny och ta bort operatör i C ++

De huvudskillnad mellan nya och radera operatören i C ++ är det nytt används för att allokera minne för ett objekt eller en array medan borttagning används för att fördela det tilldelade minnet med den nya operatören.

Det finns två typer av minne som statiskt och dynamiskt minne. Antag ett uttalande som int a; int array [10]; programmeraren vet redan hur mycket minne dessa variabler kräver. Detta minne är ett statiskt minne. Ibland är det svårt att bestämma hur mycket minne som krävs för att lagra data. Därför bör minnet bestämmas vid körning. Denna typ av minne är ett dynamiskt minne. Vi använder nya och raderar operatörer i dessa situationer.

Viktiga områden som omfattas

1. Vad är ny operatör i C++
     - Definition, Funktionalitet
2. Vad är Delete Operator i C++
     - Definition, Funktionalitet
3. Vad är skillnaden mellan ny och radera operatören i C++
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

C ++, radera Operatör, Memory Allocation, ny operatör

Vad är nytt i C++

Den nya operatören allokerar minne. Se nedan programmet.

Figur 1: C ++ program 1 med ny operatör

Enligt ovanstående program är ptr en heltalstyppekare. I rad 7 pekar ptr till int-typminne. I linje 8 pekar värdet ptr till 10. Utskrift * p ger värdet 10.

På samma sätt är det möjligt att skapa arrays med nytt som följer.

Figur 2: C ++ program 2 med ny operatör

Enligt ovanstående program är ptr en heltalstyppekare. I linje 8 pekar ptr till minnet av int-typ som kan lagra 5 heltalselement. Därefter lagras heltalets värden i matrisen. Slutligen itererar för loop genom arrayen och kommer att skriva ut värdena.

Dessutom är det möjligt att skapa nya objekt med den nya operatören. Se nedan exempel.

Figur 3: C ++ program 3 med ny operatör

Klassen är Student, och den har konstruktören. I huvudprogrammet är ptr en studenttyppekare. I rad 13 kallas konstruktören. Därför skapas ett studenttypobjekt. Cout-satsen i Studentkonstruktorn körs, och det här uttalandet visas på konsolen.

Vad är radering i C++

Ta bort operatören hjälper till att fördela minnet. Se nedan programmet.

Figur 4: C ++ program 1 med raderingsoperatör

I ovanstående program är ptr en int typpekare. I rad 7 pekar det på int-typminne medan det är i linje 8, det anges värdet 10. Dessutom raderas ptr i rad 11.

Figur 5: C ++ program 2 med raderingsoperatör

Enligt ovanstående program är ptr en heltalstyppekare. I linje 8 ptr ptr till minnet av int-typ, som kan lagra 2 heltalselement. Därefter lagras heltalets värden i matrisen. I rad 12 raderas ptr. Ta bort operatören tar bort minnet.

Skillnad mellan ny och ta bort operatör i C++

Definition

I korthet är ny en operatör i C ++ som allokerar minne för ett objekt eller en rad objekt. Däremot är radering en operatör i C ++ som avallokerar ett tidigare minne för ett objekt skapat med den nya operatören. Dessa definitioner innehåller huvudskillnaden mellan ny och rader operatör i C++.

Användande

Dessutom hjälper den nya operatören att tilldela minne för en array eller ett objekt medan raderingsoperatören hjälper till att fördela det tilldelade minnet till ett visst objekt eller en array. Därför är detta en annan skillnad mellan ny och radering operatör i C++.

Slutsats

Den grundläggande skillnaden mellan ny och rader operatör i C ++ är den nya som används för att allokera minnet för ett objekt eller en array medan radering används för att fördela det tilldelade minnet med den nya operatören.

Referens:

1. Ny operatör i C-47, Codearchery, 6 Mars 2017, Tillgänglig här.
2. Radera operatören i C-48, Codearchery, 22 Mar. 2017, Tillgänglig här.