« Programmation C++/Les types de base et les déclarations » : différence entre les versions
Programmation C++/Les types de base et les déclarations (modifier)
Version du 16 avril 2020 à 09:28
, il y a 3 ans<source> -> <syntaxhighlight> (phab:T237267)
m (<source> -> <syntaxhighlight> (phab:T237267)) |
|||
'''Exemple :'''
<
int a;
</syntaxhighlight>
Cette déclaration définit une variable d'identificateur a qui contient un entier de type int.
'''Exemple :'''
<
char c;
c = 'E';
</syntaxhighlight>
Le caractère E est transféré dans la variable c de type char .<br/>
On peut transférer un char dans un int pour récupérer son codage.<br/>
Ainsi, on peut écrire : <br/>
<
int a;
char b;
b = 'W';
a = b;
</syntaxhighlight>
On récupère alors dans a le codage du caractère 'W'. On récupérera donc en général le code ASCII de 'W' dans la variable a.
===== Transformation de majuscule en minuscule =====
<
#include<iostream>
using namespace std;
return 0;
}
</syntaxhighlight>
*'''Explications''' <br/>
Exemple :
<
wchar_t a = L'é'; // caractère 'é' unicode(16 ou 32 bits);
wchar_t[] chaine = L"Bonjour, monde !"; // chaîne de caractère unicode
</syntaxhighlight>
Ce type présente le problème de ne pas être standard: certaines implémentations n'offrent que 16 bits soit une portion limitée des caractères Unicode.
Exemple :
<
TCHAR a = _T('é'); // caractère 'é' unicode ou huit bits;
TCHAR[] chaine = _T("Bonjour, monde !"); // chaîne de caractère unicode ou ascii (huit bits)
</syntaxhighlight>
=== Les booléens ===
'''Exemple : '''
<
bool a;
int c;
a = (c > 87);
// a reçoit alors la valeur true.
</syntaxhighlight>
=== L'opérateur const ===
'''Exemple : '''
<
int x = 2;
const int y = 2;
x += 1; // x recevra la valeur 3
y += 1; // Cette opération est interdite par un compilateur C++ conforme
</syntaxhighlight>
Dans cet exemple, nous déclarons deux variables x et y, chacune avec la même valeur. La première variable (x) peut être modifiée, ce qui n'est pas le cas de la seconde (y) qui est déclarée const. Le compilateur refusera toute opération qui tenterait d'en modifier son contenu (opérations d'assignation et d'incrémentation =, +=, -=, *=, /=, >>=, <<=, ++).
'''Exemple : '''
<
class X {
public:
x.annule(); // Ok
y.annule(); // Erreur de compilation.
</syntaxhighlight>
Dans cet exemple, deux objets x et y ont été déclarés. Il est possible d'invoquer n'importe quelle méthode (const ou non) sur l'objet x, par contre seules les méthodes const peuvent être invoquées sur l'objet y puisqu'il est déclaré const.
Exemple:
<
typedef unsigned long data_size;
data_size readData(char* buffer, data_size buffer_size);
</syntaxhighlight>
On s'aperçoit plus facilement que la fonction retourne le nombre d'octets lus que dans la déclaration sans <code>typedef</code> :
<
unsigned long readData(char* buffer, unsigned long buffer_size);
</syntaxhighlight>
== Voir aussi ==
|