Avec un destructeur d'objec C++ construit sur la pile, tu peux faire plein de trucs pratiques comme prendre un mutex dans un bloc de code et le libérer à la fin.
static CMutex m_Mutex;
{
CMutextGuard guard(m_Mutex);
// du code
}
Quand tu as des "return", "goto" ou des exceptions C++ dans une fonction, c'est vite fait d'oublier un cas de sortie de la fonction (et le C n'a pas de clause "try/finally" comme Java et en Python pour faire un nettoyage forcé).
[^] # Re: C++ interdit de noyau.
Posté par Fabimaru (site web personnel) . En réponse à la dépêche Patch pour le support du C++ dans le noyau. Évalué à 2.
static CMutex m_Mutex;
{
CMutextGuard guard(m_Mutex);
// du code
}
Quand tu as des "return", "goto" ou des exceptions C++ dans une fonction, c'est vite fait d'oublier un cas de sortie de la fonction (et le C n'a pas de clause "try/finally" comme Java et en Python pour faire un nettoyage forcé).