Gestion mémoire correcte ou pas ?
Supposons que j'écrive ma propre exception qui dérive de std::exception et que je redéfinisse la fonction what() pour lui faire afficher un message particulier :
Code:
1 2 3 4
| const char* what() const throw()
{
return "Mon exception";
} |
Puisque cette fonction retourne un objet const char* alloué sur la pile, je voulais savoir à l'utilisation si la zone pointée par le pointeur retourné par what() sera toujours valide ?
Par exemple est - ce que pointe toujours sur une zone de mémoire valide sachant que l'on est sorti du scope de la fonction what() ?
Apparement, ça marche mais j'ai quand même un doute ...