Je comprends ce que signifie la constance correcte et ma question ne porte pas sur ce qu'est la constance correcte. Je n'attends donc pas d'explication ou de liens C++-FAQ à ce sujet.
Mes questions sont les suivantes :
-
Quelles sont les différences sémantiques entre
const
en C etconst
en C++ ? et - Quelle est la raison de cette différence ?
Il serait bon d'avoir des citations des normes respectives qui précisent les différences.
Je passe régulièrement du C au C++ et j'aimerais connaître les points importants qu'il faut garder à l'esprit en le faisant.
Je n'arrive pas à me souvenir de la raison pour laquelle ils ont été créés (merci si vous pouvez fournir un raisonnement), mais du haut de mon esprit, je m'en souviens :
- Les variables constantes en C++ ont un lien interne par défaut, alors qu'en C elles ont un lien externe par défaut ;
- Les objets const peuvent être utilisés comme valeurs de compilation en C++, mais ne peuvent pas être utilisés comme valeurs de compilation en C ;
- Les pointeurs vers les littéraux de chaîne doivent être des
char const*
en C++ mais en C il peut êtrechar*
.
Qu'est-ce que je rate ?