Jak działa usuwanie w C++?
Jak działa usuwanie w C++?

Wideo: Jak działa usuwanie w C++?

Wideo: Jak działa usuwanie w C++?
Wideo: delete operator in C++ - 48 2024, Może
Anonim

Kiedy usuń jest używany do cofania alokacji pamięci na C++ obiekt klasy, destruktor obiektu jest wywoływane przed pamięcią obiektu jest cofnięte (jeśli obiekt ma destruktor). Jeśli operand do kasować operator jest modyfikowalna wartość l, jej wartość jest nieokreślony po obiekcie jest usunięty.

Pytanie brzmi, jaka jest różnica między usuwaniem a usuwaniem w C++?

Oba są używane do tego samego celu, ale nadal mają trochę różnice , ten różnice są: kasować jest operatorem, podczas gdy free() jest funkcją biblioteczną. kasować zwolnić przydzieloną pamięć i wywołać destruktor. Ale free() de-alokacja pamięci, ale nie wywołuje destruktora.

Można też zapytać, jak działa C++ new? Kiedy Nowy służy do przydzielania pamięci dla C++ obiekt klasy, konstruktor obiektu jest wywoływany po przydzieleniu pamięci. Podczas przydzielania tablicy za pomocą Nowy operator, pierwszy wymiar może mieć wartość zero - the Nowy operator zwraca unikalny wskaźnik.

Można też zapytać, jaki jest pożytek z operatora new i delete w C++?

C++ obsługuje dynamiczną alokację i cofanie alokacji obiektów za pomocą nowe i usuń operatorów . Te operatorzy przydziel pamięć dla obiektów z puli o nazwie thefree store. ten nowy operator wywołuje funkcję specjalną operator nowy , a usuń operatora wywołuje funkcję specjalną operator usuń.

Czy muszę usuwać wskaźniki C++?

1 odpowiedź. Ty nie trzeba usunąć to, a ponadto nie powinieneś kasować to. Jeśli Ziemia jest obiektem automatycznym, zostanie automatycznie uwolniona. Więc ręcznie usuwanie a wskaźnik do niego, wchodzisz w niezdefiniowane zachowanie.