Vidéo: JavaScript Basics Tutorial 2024
Si vous avez un tableau et que vous ne voulez pas que son contenu change, vous pouvez en faire un tableau constant. Les lignes de code suivantes, trouvées dans l'exemple Array05, démontrent cette approche:
const int Permanent [5] = {1, 2, 3, 4, 5}; cout << permanent [1] << endl;
Ce tableau fonctionne comme n'importe quel autre tableau, sauf que vous ne pouvez pas changer les nombres à l'intérieur. Si vous ajoutez une ligne comme la ligne suivante, vous obtenez une erreur de compilation, car le compilateur est conscient des constantes:
Permanent [2] = 5;
Voici l'erreur que vous obtenez lorsque vous essayez ceci dans Code:: Blocks:
erreur: affectation de l'emplacement en lecture seule 'Permanent [2]'
Qu'en est-il d'un tableau constant de non-constantes? Peux-tu faire ça? Eh bien, parfois - en fonction du compilateur. Aussi horrible que le code suivant (trouvé dans l'exemple Array06) ressemble - et ce n'est pas la norme ANSI! - Vous êtes autorisé à le faire avec les anciennes versions des compilateurs gcc. (Microsoft Visual C ++ et Borland C ++ Builder ne l'autorisent pas, et le compilateur Code:: Blocks vous présente un message d'erreur error: assignment invalid assignment.)
int NonConstant [5] = {1, 2, 3, 4, 5}; int OtherList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;
En d'autres termes, cette troisième ligne dit: "Oubliez ce que fait remarquer OtherList; au lieu de cela, faites-le pointer vers le premier tableau, {1, 2, 3, 4, 5}! "Maintenant, vous vraiment ne devriez pas écrire du code comme celui-ci (souvenez-vous, gardez les choses simples et compréhensibles), donc si vous voulez éviter ce genre de chose, vous pouvez le rendre constant:
< ! --3 ->const int NonConstant [5] = {1, 2, 3, 4, 5}; const int OtherList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;
Maintenant, quand le compilateur arrive à la troisième ligne, il vous donne une erreur:
erreur: affectation de la variable en lecture seule 'OtherList'
Mais vous remarquerez peut-être que la façon dont vous avez fait la constante tableau de la même manière que vous avez rendu ses éléments constants dans le code qui vient juste avant cet exemple. Oops! Tout ça c'est à propos de quoi? Il s'avère qu'il y a quelques règles.
La liste suivante décrit les règles, en détail, pour rendre les tableaux constants:
-
Si vous voulez faire un tableau constant, vous pouvez le précéder de son mot const. Lorsque vous le faites, le nom du tableau est constant et les éléments à l'intérieur du tableau sont aussi constants. Vous ne pouvez donc pas avoir un tableau constant avec des éléments non constants, ni un tableau non constant avec des éléments constants.
-
La notion de tableau non constant n'existe que dans gcc et n'est pas standard ANSI.
Si vous voulez vraiment être technique, la norme ANSI C ++ dit que lorsque vous mettez le mot const devant une déclaration de tableau, vous ne rendez pas le tableau constant; vous dites que le tableau ne contient que des constantes.
Pourtant, lorsque vous utilisez const de cette façon, la plupart des compilateurs rendent le tableau lui-même constant. Mais c'est bien. les gens ne devraient pas prendre un nom de tableau et le copier sur autre chose. Ce n'est pas un bon style de programmation, et c'est juste demander des bogues - ou, à tout le moins, de la confusion - plus tard.