*   >> Lecture Éducation Articles >> science >> la programmation

Début et de fin en C ++

cute utilisant l'une des pointeurs vers ces fonctions comme argument la fonction pointue est enregistrée. Cela doit être fait avant que le programme C ++ atteint sa phase de terminaison. Comme on le voit à partir de la syntaxe ci-dessus, chacune des fonctions pointues n'a pas un argument et chacun d'eux ne retourne rien (void). Comme le programme C ++ met fin aux fonctions enregistrées sont appelés dans l'ordre inverse. La fonction atexit renvoie un int. Il renvoie zéro si elle réussit à inscrire une fonction ou une valeur non nulle si elle échoue.

Le code suivant illustre l'utilisation de la fonction atexit avec l'enregistrement d'une fonction pointu. Vous devez lire et essayer. #include #include using namespace std; vide myFn () {cout} void (* myFnPtr) () = myFn; int main () {atexit (myFnPtr); ////déclarations cout déclarations renvoient 0; } Notez l'inclusion de l'en-tête de cstdlib. La fonction pour la touche finale est myFn. Tout cette fonction fait ici est qu'il envoie une sortie à l'affichage. En pratique, il peut sauver quelque chose dans un fichier sur le disque dur.

Après sa définition de l'identifiant, myFnPtr est fait un pointeur vers elle (la fonction). Dans la fonction principale, la première déclaration est un appel à la fonction atexit qui enregistre la fonction de myFn utilisant l'argument, myFnPtr, qui est un pointeur vers myFn. Après cet appel dans la fonction principale, vous avez vos déclarations pour votre code personnalisé jusqu'à ce que votre habitude "return 0;" mettre fin à la principale bloc de fonction. Lire et essayer de nouveau le code.

Notez que la fonction atexit peut encore être appelé implicitement par le C ++ environnement d'exécution pour une autre fonction, inconscient de vous. Comme vu précédemment la fonction atexit retourne un int à son appelant (quel qu'il soit). La fonction de sortie La fonction de sortie provoque la fin du programme normal de se produire. Lorsque la résiliation normale du programme se produit l'se produire en ce qui suit: - Toutes les fonctions enregistrées par la fonction atexit sont appelés, dans l'ordre inverse de leur enregistrement.

- Tous les flux ouverts qui ont des données mises en mémoire tampon non écrites sont vidées (sur le disque), tous les flux ouverts sont fermés, et tous les fichiers temporaires () créés par la fonction tmpfile sont supprimés. La syntaxe de la fonction de sortie est, void exit (statut int); La fonction de sortie ne revient pas à son appelant (en raison de la valeur

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.