↑Ce n'est pas qu'on ne peut pas, juste qu'on n'est pas censé le faire, car ça cause plus de problèmes que ça n'en résout.
Autre note: Je confirme, une chaîne littérale n'est pas modifiable. Alors, pourquoi n'est-elle pas naturellement const? Par compatibilité parce qu'ils s'en sont rendu compte trop tard, c'est la seule raison.
Heureusement, ceux qui compilent avec gcc peuvent restaurer le comportement tel qu'il aurait dû être: L'option de compilation -Wwrite-strings rend les chaînes littérales const, ce qui causera un warning sur char* str1 = "Bonjour";On résoudra alors le warning en changeant la déclaration:
char const* str1 = "Bonjour";
Partager