Académique Documents
Professionnel Documents
Culture Documents
Achref El Mouelhi
elmouelhi.achref@gmail.com
1 Introduction
2 Installations
Compilateur
IDE
3 Avant de commencer
Règles de nommage
Instructions
STL
C++
C++
Langage de programmation
Compilé
Procédural et orienté-objet
H I ©
EL
Fortement typé : acceptant le typage statique, dynamique et générique
U
O
LM
Sensible à la casse
e f E
Créé par le professeur danois Bjarne Stroustrup dans les années 80 pendant qu’il
r
ch
travaillait pour les laboratoires Bell à New Jersey aux États-Unis
©A
Appelé initialement C with Classes en 1979 puis C++ depuis 1983
C++
C++ : avantages
H I ©
sur internet U EL
Disposant d’une bonne documentation, des supports vidéos, plusieurs exemples
M O
E L les plus utilisés dans le monde
Énorme communauté : un des langages
f
Portable : Windows,h
c reOS, Linux (Write once, run everywhere ou Écrire une
Mac
©A
fois, exécuter partout)
la programmation procédurale
la programmation orientée objet (OOP)
C++
H I ©
EL
C++ : inconvénient
O U
complexe : gestion de mémoire (allocation dynamique, libération de la
mémoire...)
f E LM
ch r e
©A
C++
C++
C++
main.cpp
compiler
main.exe
H ©
exécuter
I résultat
U EL
O
f E LM
ch r e
g++ main.cpp -o main ./main
C++
main.cpp
compiler
main.exe
H ©
exécuter
I résultat
U EL
O
f E LM
ch r e
g++ main.cpp -o main ./main
C++
main.cpp
compiler
main.exe
H ©
exécuter
I résultat
U EL
O
f E LM
ch r e
g++ main.cpp -o main ./main
C++
main.cpp
compiler
main.exe
H ©
exécuter
I résultat
U EL
O
f E LM
ch r e
g++ main.cpp -o main ./main
C++
main.cpp
compiler
main.exe
H ©
exécuter
I résultat
U EL
O
f E LM
ch r e
g++ main.cpp -o main ./main
C++
main.cpp
compiler
main.exe
H ©
exécuter
I résultat
U EL
O
f E LM
ch r e
g++ main.cpp -o main ./main
Un compilateur
H I ©
langages C, C++, Java, Fortran..., multi-plateforme (pour Windows,
EL
Linux, Android) et utilisé par le noyau du système Unix
U
O
LM
gcc : pour C
g++ : pour C++
r e f E
ch
gcj : pour Java
©A
Clang : un compilateur pour les langages C, C++ et Objective-C,
multi-plateforme (pour Windows, Mac, Linux, Android, iOS)
¯
Sun Studio : un IDE (comprenant un compilateur) pour les langages C,
C++ et Fortran développé par Sun Microsystems, multi-plateforme (pour
Linux, Solaris)
Introduction
Aller à https://www.msys2.org/
Suivre les différentes étapes d’installation
H I ©
U EL
Ajouter une variable de chemin pour le bin de Mingw-w64 (défini
O
généralement dans C:\msys64.
f E LM
ch r e
©A
Introduction
Aller à https://www.msys2.org/
Suivre les différentes étapes d’installation
H I ©
U EL
Ajouter une variable de chemin pour le bin de Mingw-w64 (défini
O
généralement dans C:\msys64.
f E LM
ch r e
©A
Pour vérifier la version de g++ installé, exécutez
g++ --version
C++
11 C++17
H I ©
U EL
M OC++14
10
f E L
ch r e
©A 6 C++14
5 C++98
C++
pour avoir
H I ©
UEL
l’auto-compilation O
la coloration syntaxique
f E LM
ch
l’auto-complétionr e
©A
l’indentation automatique...
...
C++
H I ©
CodeBlocks : open-source, multi-plateforme (Windows, Mac, Linux) et écrit en
C++ utilisant par défaut GNU Gcc Compiler et supportant plusieurs autres
UEL
MO
Visual C++ : disponible en version gratuite Visual C++ Express pour Windows
f E L
Eclipse avec le plugin CDT6 (open-source)
ch r e
A
Netbeans (open-source)
©
XCode : pour Mac
...
C++
C++
C++
C++
H I ©
terminal, exécutez UEL
En cas de problème d’affichage de lettres accentués dans le
O
chcp 65001
f E LM
ch r e
©A
C++
C++
C++
C++
Instructions
H I ©
Chaque instruction se termine par ; U EL
M O
E L instructions sur une même ligne
Il est possible d’écrire plusieurs
f
(mais ce n’est pas r
c h e bonne pratique)
une
©A
C++
STL : Standard Template Library
{ classes génériques }
Fournissant des structures de données, des fonctions et des
algorithmes
H I ©
Contenant 4 composants : U EL
M O
recherche, de tri...ef E
L de certains algorithmes de
Algorithms : implémentation
r de structure de données comme liste,
c: hensemble
©
pile...
A
Containers
C++
Démarche
H I ©
EL
Créez un répertoire CoursCpp dans votre espace de travail
U
O
choisissez CoursCppf E LM
Lancez VSC et allez dans File > Open Folder... et
r e
chcréez un fichier main.cpp
A
Dans CoursCpp,
©
C++
H I ©
using namespace std;
UEL
O
int main()
f E LM
{
ch r e
©A
cout << "Hello world!" << endl;
return 0;
}
C++
Explication
using namespace std : un espace de nom est un genre de dossier abstrait (inexistant
I ©
physiquement). Ici, on utilise l’espace de nom standard où toutes les librairies standards
H
EL
sont définies (STL : Standard Template Library).
O U
int main() : le point d’entrée vers notre projet (programme).
E LM
cout << msg << : permet d’afficher le message situé entre << : cette opération est
f
r e
définie dans la librairie <iostream> de namaspace std.
ch
©A
endl : permet de forcer un retour à la ligne.
return 0 :
main doit retourner 0 pour une sortie sans erreur, autre valeur sinon.
Si aucun return n’est présent, le compilateur considère que la valeur de retour est
par défaut 0.
C++
L MO
r e f E
A ch
©
C++
L MO
r e f E
A ch
Constats ©
Un fichier main.cpp généré.
Hello world ! s’affiche dans la console de VSC.