Jak funguje delete v C++?
Jak funguje delete v C++?

Video: Jak funguje delete v C++?

Video: Jak funguje delete v C++?
Video: Работа с файлами с++. Запись в файл. c++ ofstream. Изучение С++ для начинающих. Урок #115 2024, Listopad
Anonim

Když smazat je používá se k uvolnění paměti pro a C++ class object, destruktor objektu je zavoláno před pamětí objektu je uvolněno (pokud má objekt destruktor). Pokud operand k vymazat operátor je modifikovatelná l-hodnota, její hodnota je nedefinováno za objektem je smazán.

Otázkou také je, jaký je rozdíl mezi delete a delete v C++?

Oba se používají ke stejnému účelu, ale stále nějaké mají rozdíly , rozdíly jsou: vymazat je operátor, zatímco free() je funkce knihovny. vymazat uvolněte přidělenou paměť a destruktor volání. Ale free() de-allocatememory, ale nevolá destruktor.

Někdo se také může zeptat, jak C++ new funguje? Když Nový se používá k přidělení paměti pro a C++ třídy, konstruktor objektu je volán po přidělení paměti. Při přidělování pole pomocí Nový operátor, první rozměr může být nula - the Nový operátor vrátí jedinečný ukazatel.

Někdo se také může ptát, jaké je použití operátoru new a delete v C++?

C++ podporuje dynamickou alokaci a dealokaci objektů pomocí nové a smazat operátory . Tyto operátory alokovat paměť pro objekty z fondu nazývaného thefree store. The nového operátora volá speciální funkci operátor nový a odstranit operátor volá speciální funkci operátor smazat.

Musím smazat ukazatele C++?

1 odpověď. Ty ne potřeba smazat to, a navíc byste neměli vymazat to. Pokud je Země automatickým objektem, bude automaticky uvolněna. Tedy ručně mazání A ukazatel k tomu se dostanete do nedefinovaného chování.