Je donne des cours de C++ à l’ESGI en 4ème année. Voici l’examen du groupe AL1.
Examen noté de C++
1° En quelle année le C++ moderne a-t-il été standardisé ?
2° Quelles sont les versions de C++ que vous connaissez ?
3° Quels sont les éléments de C++ qui sont standardisés ?
4° Citez les en-têtes de la STL que vous connaissez :
5° Décrivez à quoi sert auto :
6° Qu’est-ce qu’un range-for ? Ecrire un exemple :
7° Quelle est la collection container de base de la STL à utiliser ?
8° Ecrire un code qui explique les itérateurs en C++ ; faire un parcours de vector<string> :
9° Ecrire un constructeur par copie :
10° Ecrire un opérateur de copie :
11° Ecrire la ligne de commande pour compiler un programme main.cpp avec Visual C++ ou GCC :
12° Ecrire comment affecter/initialiser un vector<string> en une seule ligne :
13° Considérant la classe
class Item { public: std::string _name; int _age; };
Comment initializer un vector<Item> en une seule ligne :
14° Ecrire la fonction de surcharge de l’opérateur << pour écrire un Item dans un flux de sortie :
15° Quelle est la méthode qui permet d’ajouter un élément dans un vector
16° Quelle est la routine de <algorithm> qui permet de parcourir un container via une routine callback pour chaque élément ? Ecrire un bout de code avec la routine ou lambda :
17° Qu’est-ce qu’une lambda ?
18° Comment insérer un élément dans une map ? Ecrire un bout de code :
19° Qu’est-ce qu’un smart pointer et décrire son avantage ? Citez les trois templates à connaitre :
20° Quelles sont les 2 fonctions templates utilisées avec les smart pointeurs ?