Comme Martin York l'a mentionné, exit n'effectue pas le nettoyage nécessaire comme le fait return.
Il est toujours préférable d'utiliser le retour à la place de la sortie. Si vous n'êtes pas dans main, où que vous vouliez quitter le programme, retournez d'abord à main.
Prenons l'exemple suivant. Avec le programme suivant, un fichier sera créé avec le contenu mentionné. Mais si le retour est commenté & décommenté exit(0), le compilateur ne vous assure pas que le fichier aura le texte requis.
int main()
{
ofstream os("out.txt");
os << "Hello, Can you see me!\n";
return(0);
//exit(0);
}
De plus, avoir plusieurs points de sortie dans un programme rendra le débogage plus difficile. N'utilisez la sortie que lorsque cela peut être justifié.