Possible en double:
what is the difference between const int*, const int * const, int const *Différence entre const char * p et le charbon const * p
Are there any Difference between const char* p and char const* p
Possible en double:
what is the difference between const int*, const int * const, int const *Différence entre const char * p et le charbon const * p
Are there any Difference between const char* p and char const* p
Certains mots ne sont pas dans le même ordre.
(il n'y a pas de différence sémantique jusqu'à ce que la const se déplace par rapport à l'étoile)
J'ai ri de cela plus que les règles SO me permettent de le faire. –
Hahahaha .. épique! :RÉ –
Il n'y a pas de différence fonctionnelle entre ces deux. Le 'plus précis' est char const * p
parce que la sémantique est de droite à gauche.
Il n'y a pas de différence sémantique, mais c'est une question de style de codage et de lisibilité. Pour les expressions complexes, la lecture de droite à gauche fonctionne bien:
char const ** const
est un const pointer to a pointer to a constant char
. Par conséquent, char const *
est plus cohérent à cet égard. Beaucoup de gens, cependant, préfèrent const char*
pour sa lisibilité - il est immédiatement clair ce que cela signifie.
const char* p
est un pointeur vers un const char
.
char const* p
est un pointeur vers un char const
.
Depuis const char
et char const
est le même, c'est la même chose.
Cependant, tenez compte:
char * const p
est un pointeur const
à un (non-const) char. C'est à dire. vous pouvez changer le caractère réel, mais pas le pointeur qui pointe dessus.
Aucune différence, puisque la position du '*' n'a pas bougé.
1) const char * p - pointeur à une constante char ('p' est pas modifiable, mais le pointeur)
2) char * const p - Pointeur également un Char constant
Toutefois, si vous avez quelque chose comme:
char * const p - Ceci déclare que 'p' est un pointeur constant vers un char. (Char p est modifiable mais le pointeur ne l'est pas)
La dupe est ici: http://stackoverflow.com/q/890535/694576 pas là où elle était proche, car cette dernière concerne le C++. – alk