Care este diferența dintre operatorul nou și ștergerea în C ++

principala diferență între operatorul nou și ștergerea în C ++ este asta nou este folosit pentru a aloca memorie pentru un obiect sau o matrice, în timp ce ștergerea este folosită pentru a aloca memoria alocată folosind noul operator.

Există două tipuri de memorie ca memorie statică și dinamică. Să presupunem o declarație precum int a; int array [10]; programatorul știe deja câtă memorie necesită aceste variabile. Această memorie este o memorie statică. Uneori este dificil de determinat cât de mult este nevoie de memorie pentru stocarea datelor. Prin urmare, memoria ar trebui să fie determinată în timpul rulării. Acest tip de memorie este o memorie dinamică. Utilizăm operatori noi și ștergem operatori în aceste situații.

Domenii cheie acoperite

1. Ce este noul operator în C++
     - Definiție, funcționalitate
2. Ce este ștergerea Operator în C++
     - Definiție, funcționalitate
3. Care este diferența dintre operatorul nou și cel de ștergere din C++
     - Compararea diferențelor cheie

Termeni cheie

C ++, ștergeți operatorul, alocarea memoriei, noul Operator

Ce este nou în C++

Noul operator alocă memoria. Consultați programul de mai jos.

Figura 1: Programul C ++ 1 cu operator nou

Conform programului de mai sus, ptr este un pointer de tip întreg. În linia 7, ptr indică memoria de tip int. În linia 8, valoarea ptr indică să devină 10. Imprimarea * p va da valoarea 10.

În mod similar, este posibil să creați tablouri folosind noi, după cum urmează.

Figura 2: Programul C ++ 2 cu operator nou

Conform programului de mai sus, ptr este un pointer de tip întreg. În linia 8, ptr indică memoria tipului int care poate stoca 5 elemente întregi. Apoi, valorile întregului sunt stocate în matrice. În cele din urmă, pentru bucla iterează prin matrice și se vor imprima valorile.

În plus, este posibil să creați obiecte noi utilizând noul operator. Consultați exemplul de mai jos.

Figura 3: Programul C ++ 3 cu operator nou

Clasa este Student, și are constructorul. În programul principal, ptr este un pointer de tip Student. În linia 13, constructorul este chemat. Prin urmare, este creat un obiect de tip Student. Instrucțiunea cout din interiorul constructorului Student execută și acea instrucțiune este afișată pe consolă.

Ce este ștergerea în C++

Operatorul de ștergere ajută la dezarhivarea memoriei. Consultați programul de mai jos.

Figura 4: Programul C ++ 1 cu operatorul de ștergere

În programul de mai sus, ptr este un pointer de tip int. În linia 7, ea indică memoria tip int în timp ce în linia 8, îi este dată valoarea 10. Mai mult, în linia 11, ptr este șters.

Figura 5: Programul C ++ 2 cu operatorul de ștergere

Conform programului de mai sus, ptr este un pointer de tip întreg. În linia 8, ptr indică memoria tipului int, care poate stoca 2 elemente întregi. Apoi, valorile întregului sunt stocate în matrice. În linia 12, ptr este șters. Operatorul de ștergere alocă memoria.

Diferența dintre operatorul nou și ștergerea în C++

Definiție

Pe scurt, noul este un operator în C ++ care alocă memoria pentru un obiect sau o serie de obiecte. În schimb, ștergerea este un operator în C ++ care alocă un bloc de memorie alocat anterior pentru un obiect creat folosind noul operator. Aceste definiții conțin principala diferență dintre operatorul nou și cel de ștergere din C++.

folosire

Mai mult, operatorul nou ajută la alocarea memoriei pentru o matrice sau un obiect, în timp ce operatorul de ștergere ajută la dealocarea memoriei alocate unui anumit obiect sau unui tablou. Prin urmare, aceasta este o altă diferență între operatorul nou și cel de ștergere din C++.

Concluzie

Diferența de bază dintre operatorul nou și cel de ștergere din C ++ este că noul este utilizat pentru a aloca memoria pentru un obiect sau pentru un tablou, în timp ce ștergerea este folosită pentru a delacta memoria alocată utilizând noul operator.

Referinţă:

1. OPERATOR NOU IN C-47, Coderchery, 6 Mar. 2017, Disponibil aici.
2. Ștergeți operatorul în C-48, Coderchery, 22 martie 2017, disponibil aici.