Par exemple, est
int const x = 3;
code valide ?
Si oui, cela signifie-t-il la même chose que
const int x = 3;
?
Par exemple, est
int const x = 3;
code valide ?
Si oui, cela signifie-t-il la même chose que
const int x = 3;
?
Ils sont tous les deux du code valide et ils sont tous les deux équivalents. Pour un type de pointeur bien qu'ils soient tous les deux du code valide mais pas équivalent.
Déclare 2 ints qui sont constants :
int const x1 = 3;
const int x2 = 3;
Déclare un pointeur dont les données ne peuvent pas être modifiées par le pointeur :
const int *p = &someInt;
Déclare un pointeur qui ne peut pas être modifié pour pointer vers autre chose :
int * const p = &someInt;
Oui, c'est exactement la même chose. Cependant, il y a une différence de pointeurs. Je veux dire :
int a;
// these two are the same: pointed value mustn't be changed
// i.e. pointer to const value
const int * p1 = &a;
int const * p2 = &a;
// something else -- pointed value may be modified, but pointer cannot point
// anywhere else i.e. const pointer to value
int * const p3 = &a;
// ...and combination of the two above
// i.e. const pointer to const value
const int * const p4 = &a;
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.