Video: Jak funguje delete v C++?
2024 Autor: Lynn Donovan | [email protected]. Naposledy změněno: 2023-12-15 23:44
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í.