« Programmation C++/Les types de base et les déclarations » : différence entre les versions

m
<source> -> <syntaxhighlight> (phab:T237267)
m (<source> -> <syntaxhighlight> (phab:T237267))
 
'''Exemple :'''
<sourcesyntaxhighlight lang="cpp">
int a;
</syntaxhighlight>
</source>
Cette déclaration définit une variable d'identificateur a qui contient un entier de type int.
 
 
'''Exemple :'''
<sourcesyntaxhighlight lang="cpp">
char c;
c = 'E';
</syntaxhighlight>
</source>
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/>
<sourcesyntaxhighlight lang="cpp">
int a;
char b;
b = 'W';
a = b;
</syntaxhighlight>
</source>
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 =====
<sourcesyntaxhighlight lang="cpp">
#include<iostream>
using namespace std;
return 0;
}
</syntaxhighlight>
</source>
 
*'''Explications''' <br/>
 
Exemple :
<sourcesyntaxhighlight lang="cpp">
wchar_t a = L'é'; // caractère 'é' unicode(16 ou 32 bits);
wchar_t[] chaine = L"Bonjour, monde !"; // chaîne de caractère unicode
</syntaxhighlight>
</source>
 
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 :
<sourcesyntaxhighlight lang="cpp">
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>
</source>
 
=== Les booléens ===
 
'''Exemple : '''
<sourcesyntaxhighlight lang="cpp">
bool a;
int c;
a = (c > 87);
// a reçoit alors la valeur true.
</syntaxhighlight>
</source>
 
=== L'opérateur const ===
 
'''Exemple : '''
<sourcesyntaxhighlight lang="cpp">
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>
</source>
 
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 : '''
<sourcesyntaxhighlight lang="cpp">
class X {
public:
x.annule(); // Ok
y.annule(); // Erreur de compilation.
</syntaxhighlight>
</source>
 
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:
<sourcesyntaxhighlight lang="cpp">
typedef unsigned long data_size;
 
data_size readData(char* buffer, data_size buffer_size);
</syntaxhighlight>
</source>
 
On s'aperçoit plus facilement que la fonction retourne le nombre d'octets lus que dans la déclaration sans <code>typedef</code> :
<sourcesyntaxhighlight lang="cpp">
unsigned long readData(char* buffer, unsigned long buffer_size);
</syntaxhighlight>
</source>
 
== Voir aussi ==
1 538

modifications