C++ Constantes

Les constantes sont des valeurs fixes qui ne changent pas pendant l'exécution du programme. Ces valeurs fixes sont également appeléeslittéraux。

Les constantes peuvent être de n'importe quel type de données de base et peuvent être divisées en nombres entiers, nombres à virgule flottante, caractères, chaînes de caractères et valeurs booléennes.

Les constantes sont comme des variables ordinaires, sauf que la valeur d'une constante ne peut pas être modifiée après sa définition.

Constantes entières

Les constantes entières peuvent être décimales, octales ou hexadécimales. Le préfixe spécifie la base : 0x ou 0X indique l'hexadécimal, 0 indique l'octal, et l'absence de préfixe signifie décimal par défaut.

Les constantes entières peuvent également avoir un suffixe, qui est une combinaison de U et L. U signifie entier non signé, et L signifie entier long. Le suffixe peut être en majuscules ou en minuscules, et l'ordre de U et L est arbitraire.

Voici quelques exemples de constantes entières :

212 // valide 215u // valide 0xFeeL // valide 078 // invalide : 8 n'est pas un chiffre octal 032UU // invalide : impossible de répéter le suffixe

Voici des exemples de constantes entières de différents types :

85 // décimal 0213 // octal 0x4b // hexadécimal 30 // entier 30u // entier non signé 30l // entier long 30ul // entier long non signé

Constantes à virgule flottante

Les constantes à virgule flottante se composent d'une partie entière, d'un point décimal, d'une partie fractionnaire et d'un exposant. Vous pouvez utiliser la forme décimale ou la forme exponentielle pour représenter les constantes à virgule flottante.

Lorsque vous utilisez la forme décimale, vous devez inclure la partie entière, la partie fractionnaire, ou les deux. Lorsque vous utilisez la forme exponentielle, vous devez inclure le point décimal, l'exposant, ou les deux. Un exposant signé est introduit par e ou E.

Voici quelques exemples de constantes à virgule flottante :

3.14159 // valide 314159E-5L // valide 510E // invalide : exposant incomplet 210f // invalide : pas de point décimal ni d'exposant .e55 // invalide : partie entière ou fraction manquante

Constantes booléennes

Il existe deux constantes booléennes, qui sont toutes deux des mots-clés standard du C++ :

  • trueLa valeur représente true.
  • falseLa valeur représente false.

Nous ne devons pas considérer la valeur de true comme 1 ni la valeur de false comme 0.

Constantes de caractère

Les constantes de caractère sont placées entre guillemets simples. Si une constante commence par L (uniquement lorsqu'il est en majuscule), cela indique qu'il s'agit d'une constante de caractère large (par exemple, L'x'), et elle doit être stockée dans une variable de typewchar_t. Sinon, il s'agit d'une constante de caractère étroit (par exemple, 'x'), et elle peut être stockée danschardans une variable simple de ce type

Une constante de caractère peut être un caractère ordinaire (par exemple, 'x'), une séquence d'échappement (par exemple, '\t'), ou un caractère universel (par exemple, '\u02C0').

En C++, certains caractères spécifiques ont une signification particulière lorsqu'ils sont précédés d'une barre oblique inverse, et sont utilisés pour représenter des éléments tels qu'un saut de ligne (\n) ou une tabulation (\t). Le tableau suivant répertorie certains de ces codes de séquence d'échappement :

Séquences d'échappementSignification
\\\ caractère
\'' caractère
\"" caractère
\?caractère ?
\aSonnerie d'alarme
\bRetour arrière
\fSaut de page
\nNouvelle ligne
\rRetour chariot
\tTabulation horizontale
\vTabulation verticale
\oooNombres octaux comportant un à trois chiffres
\xhh . . .Nombres hexadécimaux comportant un ou plusieurs chiffres

L'exemple suivant montre quelques caractères de séquence d'échappement :

Exemple

#include <iostream> using namespace std; int main() { cout << "Hello\tWorld\n\n"; return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

Hello   World

Constantes de chaîne

Les littéraux ou constantes de chaîne sont placés entre guillemets doubles""Une chaîne contient des caractères similaires aux constantes de caractère, des caractères ordinaires, des séquences d'échappement et des caractères universels.

Vous pouvez utiliser\comme délimiteurs pour répartir une très longue constante de chaîne sur plusieurs lignes.

L'exemple suivant montre quelques constantes de chaîne :

Exemple

#include <iostream>
#include <string>
using namespace std;

int main() {
    string greeting = "hello, example";
    cout << greeting;
    cout << "\n";     // saut de ligne
    string greeting2 = "hello, \
                       example"
;
    cout << greeting2;
    return 0;
}
hello, example
hello, example

Définir des constantes

En C++, il existe deux façons simples de définir des constantes :

  • Utilisation#definePréprocesseur.
  • UtilisationconstMot-clé.

#define préprocesseur

Voici la forme de définition d'une constante à l'aide du préprocesseur #define :

#define identifier value

Voir les exemples ci-dessous pour plus de détails :

Exemple

#include <iostream> using namespace std; #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

50

mot-clé const

Vous pouvez utiliserconstLa déclaration avec préfixe spécifie une constante d'un type spécifique, comme indiqué ci-dessous :

const type variable = value;

Voir les exemples ci-dessous pour plus de détails :

Exemple

#include <iostream> using namespace std; int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

50

Veuillez noter que définir des constantes en lettres majuscules est une bonne pratique de programmation.


autres extensions