Bonjour et bienvenue à nouveau. Dans cette conférence, je veux parler des chaînes constantes.
Nous savons que les littéraux de chaîne ou une constante de chaîne se trouvent entre des guillemets doubles.
Mais qu'en est-il de la variable elle-même. Comment pouvez-vous vous assurer que la variable
ne pourra jamais changer cette valeur?
C'est ce qu'on appelle une constante. Ainsi, une chaîne constante
est parfois nécessaire dans votre programme où
vous ne voulez pas que les valeurs de vos variables changent jamais.
Ainsi, par exemple, si nous créons une circonférence d'un calcul,
nous ferions 3. 14159 fois le diamètre.
3. 14159 est une constante. Cela ne change jamais.
Il représente pi.
Ce serait donc vraiment bien si au lieu d'utiliser ce nombre magique, nous pouvions
utiliser une variable et nous assurer que cette variable ne change jamais.
Il y a donc de bonnes
raisons d'utiliser une constante symbolique au lieu de simplement taper le nombre à chaque fois.
Tout d'abord, un nom vous en dit beaucoup plus qu'un nombre.
Dû est égal à 0. 015 fois la valeur de la
maison est beaucoup moins significative que la valeur due égale le taux d'imposition fois la valeur.
Nous voulons donc avoir des noms de variables qui représentent des
nombres qui ne changent jamais.
Si vous lisez un long programme, la
signification de la deuxième version de vision est beaucoup plus claire.
Il est beaucoup plus facile de regarder ce code et de comprendre que 0. 015 représente le taux d'imposition.
Supposons que vous ayez utilisé une constante à plusieurs
endroits et qu'il devienne nécessaire de
changer sa valeur, vous devriez aller changer cette valeur partout dans le
programme au lieu de simplement changer à un endroit où vous définissez cette constante.
J'en ai parlé plus tôt lorsque j'utilise le terme de nombres magiques.
C'est à cela que l'on fait référence.
Chaque fois que vous voyez un nombre utilisé dans un programme, il n'est pas stocké
dans une variable, il est généralement préférable de créer ce nombre et de le mettre dans une constante.
Car si vous l'utilisez plusieurs fois et que cette
variable change, il vous suffit de la
changer une fois. Vous n'êtes pas obligé de le changer partout où vous l'utilisez.
Alors évitez les nombres magiques, utilisez des constantes.
Une façon de définir une constante dans c est de l'utiliser pour
définir une directive de préprocesseur.
Donc, cette directive de préprocesseur vous permet de définir des constantes,
et je l'ai en fait utilisée dans quelques programmes. J'essaye maintenant d'aider à l'expliquer.
Donc, si vous vouliez faire un taux d'imposition et que
c'était une constante, vous pourriez dire définir avec le signe dièse devant lui.
Nous savons que c'est une directive de préprocesseur à cause du signe
dièse, puis nous dirions le nom et ensuite la valeur.
Lorsque votre programme est compilé, la valeur 0. 015 va être remplacé partout
où vous avez utilisé le taux de taxe, tout comme une
variable, mais ce n'est en fait pas une variable.
Vous ne pouvez pas attribuer d'autres valeurs à cela.
S'il s'agissait d'une variable, vous seriez en mesure de
lui attribuer des données, mais pas dans ce cas car il s'agit d'un préprocesseur.
Ainsi, la directive du préprocesseur dit que vous ne pouvez pas affecter de données
et que vous le spécifiez avec le define.
Alors notez la syntaxe pour cela. Vous avez le symbole dièse suivi du mot-clé défini.
Et puis après ça, vous avez votre nom.
Nous n'utilisons aucun opérateur d'affectation.
Nous avons juste notre nom et ensuite l'espace et ensuite la valeur.
Donc, pour attribuer une valeur à cette définition, tout ce dont vous avez besoin est un espace.
Il n'y a pas de point-virgule à la fin. Ce n'est pas une déclaration. C'est très spécifique.
Donc, ce qui se passe ici, c'est qu'il y a une substitution de temps
de compilation pour ces préprocesseurs. Le préprocesseur s'exécute avant que le compilateur ne s'en souvienne.
Le préprocesseur va fonctionner et il va voir ces racines porteuses définies. Et puis partout où il voit un taux d'imposition,
il va juste mettre 0. 015 pour le compilateur.
Les instructions définies peuvent apparaître n'importe où dans le programme.
Il n'y a pas de définition locale. Une fois que vous avez une définition,
n'importe qui peut l'utiliser.
Désormais, la meilleure pratique ou convention consiste généralement à placer les
instructions définies au début du programme ou
dans un fichier d'inclusion si vous souhaitez partager plusieurs
fichiers source mais que vous n'êtes pas obligé de le faire.
Parce qu'il s'exécute sur le préprocesseur, il
n'a aucune portée, il n'a pas de local ou global.
Vous pouvez simplement le mettre n'importe où. Et n'importe où dans le programme, vous pouvez
le voir, même s'il est utilisé avant d'être défini.
Les instructions définies sont également très utiles car elles contribuent à rendre vos programmes plus portables.
Parfois, vous pouvez utiliser une instruction définie et la relier à un ordinateur particulier sur lequel vous exécutez lorsque
le programme est en cours d'exécution, et il obtiendra cette valeur même.
L'instruction définie peut également être utilisée pour les caractères et les constantes de chaîne, pas
seulement pour les nombres. Si nous voulions faire quelque chose comme ça, parfaitement valable.
Vous mettez simplement les caractères uniques dans un guillemet simple.
Et si vous voulez réellement mettre une chaîne littérale entière,
vous la mettez simplement entre guillemets. Et c'est ce que fait ce oups.
Une autre façon de créer des constantes et de voir est
un mécanisme plus récent. C90 a ajouté essentiellement une autre
façon de fournir le modificateur constant.
Vous pouvez utiliser le mot clé constant pour convertir une déclaration pour une variable en une déclaration pour une constante.
Et cela vous permettra de ne jamais pouvoir modifier cette variable. Donc, tout ce que vous faites est de dire
const, puis le nom du type de données, puis le nom de la variable.
Et ce que cela fait dans cet exemple va maintenant faire des mois une constante symbolique pour 12.
Nous ne l'appelons pas une variable car une variable peut
changer, c'est pourquoi on l'appelle variable.
Vous avez des constantes ou des
variables et la constante en mois n'est pas une variable, ne change pas.
Constant transforme les mois en valeur en lecture seule.
Vous pouvez afficher les mois et l'utiliser dans les calculs. Vous ne pouvez pas modifier la valeur des mois.
Les constantes sont donc importantes si vous ne voulez pas que les données
changent, et elles peuvent également remplacer des nombres magiques.
Const est une approche plus récente et plus flexible que l'utilisation de define.
Il vous permet de déclarer un type.
Il a également un meilleur contrôle sur les parties
d'un programme qui peuvent utiliser la constante.
Vous devriez donc utiliser constant chaque fois que vous le pouvez, mais vous
verrez beaucoup de programmes utiliser defined car c'était le premier mécanisme.
En outre, il existe une troisième façon de créer une
constante, à l'aide de l'énumération. Rappelez-vous, nous avons parlé d'énumérations.
Les énumérations sont un moyen de créer votre
propre type de variable et ne sont associées qu'à certaines données. Vous ne pouvez pas modifier la valeur des énumérations.
Une fois que vous avez défini une énumération, elle doit avoir ces valeurs.
Il peut avoir des valeurs différentes, mais c'est
toujours une sorte de moyen de créer une constante symbolique, pas de manière complète, mais une sorte de voie.
De plus, avec const, vous pouvez initialiser un tableau de caractères et le déclarer comme une constante,
c'est un bon moyen de gérer les messages standard.
Donc, si vous dites que le message const char est égal à la fin du
monde est proche, cela déclarera le message comme une constante et il sera protégé
contre toute modification explicite dans votre programme. Toute tentative d'essayer de modifier le message en
effectuant une copie str entraînera un message d'erreur du compilateur.
Et maintenant, vous pouvez l'utiliser pour un message standard qui peut être affiché
en tant que sortie dans diverses parties du programme.
La technique de définition des messages standard est particulièrement utile s'ils sont utilisés
dans de nombreux endroits, comme je l'ai mentionné.
Empêche la modification accidentelle de telles constantes dans d'autres parties du programme, tout
comme les nombres magiques.
Donc les constantes que vous voulez les
utiliser dans votre programme, deux manières de les employer essentiellement, en
utilisant le define et en utilisant le mot-clé constant.
Veuillez faire attention à cela.
Vous pourriez le voir dans quelques exemples à venir.
Merci.