Visual C++ :quelques trucs en vrac |
Console Out :
#include <iostream.h>
main()
{ int imax = 3;
/* affiche Sur ce pc, la taille d'un integer est : */
cout << "Sur ce pc, la taille d'un integer est : \n" ;
/* affiche le 1er chiffre : 3 puis, sur la ligne suivante le 2ème chiffre : 4 */
cout << "le 1er chiffre : " << imax << "\nle 2ème chiffre : " << imax+1 << "\n";
/* affiche Press any key to continue et attend */
return(0);
}
\n pour sauter 1 ligne
le 1er count affiche Sur ce pc, la taille d'un integer est :
le 2ème count
if condition machin; else truc;
if condition {} else {}
while (condition) action;
do action while (condition);
for (initialisation; condition; itération)
action;
Caractère | Description | Code ASCII |
'\a' | signal sonore | 7 |
'\b' | espace arrière | 8 |
'\f' | saut de page | 12 |
'\n' | nouvelle ligne | 10 |
'\r' | retour chariot | 13 |
'\t' | tabulation | 9 |
'\v' | tabulation verticale | 11 |
'\\' | barre oblique inverse \ | 92 |
'\'' | apostrophe ' | 39 |
'\"' | guillemet " | 34 |
'\?' | point d’interrogation ? | 63 |
\000 | notation octale | |
\xhhh | héxadécimal | |
Les deux derniers peuvent être écrits sans barre oblique inverse :
Type C++ | Traduction | Taille (octets) | Valeurs |
bool | booléen | 1 | true ou false |
unsigned short int | entier court non signé | 2 | de 0 à 65535 |
short int | entier court | 2 | de -32768 à 32767 |
unsigned long int | entier long non signé | 4 | de 0 à 4.294.967.295 |
long int | entier long | 4 | de -2.147.483.648 à 2.147.483.647 |
int | entier(16 bits) | 2 | de -32768 à 32767 |
int | entier(32 bits) | 4 | de -2.147.483.648 à 2.147.483.647 |
unsigned int | entier non signé (16 bits) | 2 | de 0 à 65535 |
unsigned int | entier non signé (32 bits) | 2 | de 0 à 4.294.967.295 |
char | texte | 1 | 256 caractères |
float | nombre décimal | 4 | de 1.2e-38 à 3.4e38 |
double | nombre double | 8 | de 2.2e-308 à 1.8e308 |
memmove( tab2, tab, 20*sizeof(int) ) ; |=> recopie les 20 1er entiers du tableau tab vers tab2.
memmove( tab2, tab, sizeof(tab) ); |=> recopie le tableau tab vers tab2.
strlen et strcpy (longueur et copie de chaînes) de .
inline
syntaxe : inline définition_de_fonction
Pour les petites fonctions, dont la séquence appel de fonction + retour de fonction, est plus longue en durée que la fontion elle-même. Le compilateur remplacera chaque appel de la fonction par son équivalent (définition).
pointeur sur rien
Dans ce cas, on peut placer n’importe quel autre pointeur dans ce dernier sans faire de changement de type : void *p = &k;
Les Structures & Classes
Attention les membres d'un structures sont par défaut publics, mais une classe ils sont privés.
Ex :class CBoite {
public:
unsigned int m_L; | pour la création d'objet (ex : CBoite MaBoite)
unsigned int m_l; | pour l'utilisation des membres de cet objet ex :
unsigned int m_H; | MaBoite.m_L ; MaBoite.AffBoite1(MaBoite) ; this->m_L
//
// prototypes
void AffBoite1(CBoite); | Attention, définir les prototypes dans la classe implique que lorsqu'on définira cette fontion,
void AffBoite2(CBoite*);| il faudra préciser la classe à laquelle appartient cette fonction (ex CBoite::AffBoite1)
};
Inclure les fonctions dans la classe revient à faire un inline de cette fonction (sauf si elle contiennent une boucle ou un switch => warning du compilo).
On peut aussi mettre les prototypes à l'extérieur de la classe et définir les fonctions dans un autre .cpp . Mais attention dans chaque .cpp il faudra inclure le .h des prototypes et de la classe.
Les fonctions membres seront définies avec l'opérateur de résolution de portée :: nom_classe::nom_fonction
Par contre elle seront appelées comme un objet nom_classe.nom_fonction
L'alternance de public/private est autorisée depuis la version 1.02 cd C++.
Un membre déclaré avec l'attribut static est partagé par tous les éléments de la classe et itinialisé à 0.
Contructeurs & Destructeurs
contructeur même nom que fonction, destructeur idem mais ~ avant.
si déclaré obligé de passer par lui
est juste après déclaration éléments membres
peut être défini à part comme les fonctions
Appel du contructeur par défaut : nom_objet instance_objet; ==> sans parenthèses.
sizeof() => nb octets