0
votes

Dois-je utiliser le mot-clé 'const' en C ++

Je suis nouveau à C ++ et je suis venu sur le mot clé const . Je l'ai regardé en ligne et lisez que l'utilisation principale consiste à empêcher la modification de la valeur dans tout le programme. J'ai ces deux extraits ci-dessous xxx

comparé à l'utilisation xxx

Pourquoi devrais-je utiliser un sur l'autre? Quelle est l'idée de l'utiliser.


7 commentaires

Je suis confus à propos de votre question. Vous avez répondu à votre dernière phrase dans votre deuxième phrase.


Duplicaté possible: Utilisez Const dans la mesure du possible dans C ++?


Après avoir défini et initialiser la taille, effectuez une affectation (dans une fonction qui a la visibilité de la définition de la variable) comme taille = 42 . Vous verrez que le compilateur se plaint amèrement dans un cas mais pas l'autre. Maintenant, considérons les cas où vous voudriez que le compilateur vous empêche de changer la valeur de la taille - ou, si elle a été autorisée, votre programme pourrait dysfonctionnement.


Une fois que vous êtes à l'aise avec l'utilisation de Cons Variables, examinez les fonctions des membres de Const et le concept plus large de la Constance Constitue pour avoir une idée de la raison pour laquelle cela est extrêmement puissant.


Si la variable doit être mutable, alors ne le faites pas const . Si la variable n'est pas censée changer après avoir été initialisée, envisagez de le faire const .


ISOCPP.ORG/WIKI/FAQ/CONST-CORTHNESS


@Aryan Parekh, bienvenue à Stackoverflow. Sachez que vous devriez essayer de déterminer la réponse à votre question avant de le publier. Cette question est facilement répondue par Googling, exemple de recherche: Pourquoi utiliser const C ++


3 Réponses :


5
votes

Oui, vous devriez faire tous em> variables const code> si vous n'allez jamais changer sa valeur après l'initialisation. Cela empêche les bugs où vous changez accidentellement une valeur que vous n'êtes pas censée. Vous semblez être conscient de cela déjà.

En outre, il y a quelque chose que vous ne connaissez peut-être pas, ce qui consiste à créer une variable int code> const code> fait aussi il est une expression constante tant que l'initialisateur lui-même est également une expression constante, par exemple Le int code> littéral 56 code>. Cela vous permet de l'utiliser dans des contextes où vous avez besoin d'une expression constante, par ex. En tant que dimension d'une matrice statique: P>

int size = 56;
int a[size]; // error


2 commentaires

Votre deuxième point n'est que vrai lorsque la variable Const est connue au moment de la compilation. Par exemple, int Main (int Argc, char * argv []) {const int to taille = argc; int a [taille]; } est une erreur de compilation (sauf si le compilateur prend en charge des tableaux de taille dynamique)


@Tedkleinbergman True, a précisé que l'initialisateur doit également être une expression constante.



1
votes

Lorsque vous avez une variable const Tenir quelque chose qui ne doit pas changer et écrire accidentellement du code qui modifie de toute façon la variable, vous obtenez une mauvaise erreur du compilateur et peut facilement corriger votre erreur. Si la variable est non- const , le compilateur ne peut pas vous aider et vous avez maintenant un bug qui peut être difficile à trouver.


0 commentaires

2
votes

in c ++ const est utilisé lorsque vous souhaitez déclarer quelque chose qui ne changera pas sa valeur dans tout le programme. Mais si vous essayez accidentellement de réécrire sa valeur, le compilateur passera par une erreur. La plupart du temps, il est recommandé de déclarer une variable de type INT afin que vous puissiez redéfinir sa valeur si nécessaire. Const est utilisé lorsque vous souhaitez déclarer une matrice statique, c'est-à-dire

int a = 12;

int arr[4] = {11,22,33,554};

for (int i=0; i<4; i++){
    if(arr[i]%2 == 0){
         a+=arr[i];
     }
}


0 commentaires