Sobes.tech
Middle

Jakie są dwa typy operatora delete w C++?

sobes.tech AI

Odpowiedź od AI

  1. Zwykły operator delete: służy do zwalniania pamięci przydzielonej dla pojedynczego obiektu za pomocą operatora new.
  2. Operator delete[]: służy do zwalniania pamięci przydzielonej dla tablicy obiektów za pomocą operatora new[]. Przy użyciu delete[] wywoływane są destruktory wszystkich elementów tablicy w odwrotnej kolejności ich tworzenia.

Użycie niewłaściwego typu operatora delete (np. delete dla tablicy lub delete[] dla pojedynczego obiektu) prowadzi do nieokreślonego zachowania.

Przykład:

// Zwykły operator delete
int* pojedynczy_obiekt = new int(10);
// ... użycie pojedynczego_obiektu
delete pojedynczy_obiekt;

// Operator delete[] dla tablicy
int* tablica_obiektów = new int[5];
// ... użycie tablica_obiektów
delete[] tablica_obiektów;