Jälkeen sen määritelmä tunniste, myFnPtr tehdään osoitin se (toiminto). Päätehtävä, ensimmäinen lausunto on kutsu atexit toiminto, joka rekisteröi myFn funktion argumentti, myFnPtr, joka on osoitin myFn. Tämän jälkeen puhelu päätehtävä, sinulla on lausuntoja muokatun koodin asti tavallisesta "return 0;" päättyy päätehtävä lohko. Lue ja yritä koodi uudelleen. Huomaa, että atexit toimintoa voidaan edelleen kutsua epäsuorasti C ++ täytäntöönpanosta ympäristö jonkin muun toiminnon, tajuton sinulle. Kuten edellä atexit funktio palauttaa int sen soittaja (mikä se on).
Poistu-toiminto Exit Toiminto saa normaalin ohjelman päättymisen tapahtua. Kun normaali ohjelma irtisanominen tapahtuu seuraavat tapahtua: - Kaikki toiminnot rekisteröinyt atexit toimintoa kutsutaan, päinvastaisessa järjestyksessä niiden rekisteröintiä. - Kaikki avoimet virtoja, jotka on kirjoittamaton puskuroitua dataa huuhtoutuvat (levylle), kaikki avoimet virrat ovat kiinni, ja kaikki tiedostot (väliaikainen) luonut tmpfile toiminto poistetaan. Syntaksi poistu-toiminto on, mitätön exit (int tila); Poistu-toiminto ei palaa sen soittaja (koska palauttaa arvon mitätön).
Poistumisen jälkeen toiminto toimii, C ++ täytäntöönpanosta ympäristö palaa ohjauksen vastaanottavaan ympäristöön (käyttöjärjestelmä). Se ei poistu-toiminto, joka palauttaa valvonta koska sen palautettu arvo on mitätön. Väite poistua toiminto on normaalisti EXIT_SUCCESS tai EXIT_FAILURE, jotka ovat kukin tunniste vakio int. C ++ täytäntöönpanosta ympäristössä tai voit mukautetun koodaaja voi tehdä kumpaakaan näistä vakioita, argumentti poistu-toiminto. Jos EXIT_SUCCESS tehdään, se tarkoittaa vastaanottavaan ympäristöön (käyttöjärjestelmä) annetaan Onnistunut päättyminen viesti.
Jos argumentti poistua toiminto on vaihtoehtoisesti EXIT_FAILURE, isäntä ympäristö annetaan Epäonnistunut päättyminen viesti. Älkäämme mennä yksityiskohtiin kaikista että täällä. Argumentti poistu-toiminto on nimel