Travaux dirigés C++ no10

Transcription

Travaux dirigés C++ no10
Travaux dirigés C++ no10
Informatique
—IMAC 2e année—
La STL
Au cours de ce TP vous apprendrez à utiliser la Standard Template Library. Il est
conseillé de se référer à la documentation en ligne : http://cplusplus.com/reference/
et notamment http://cplusplus.com/reference/stl/
TD à faire en binôme et à rendre à votre enseignant par mail.
[email protected] avec pour entête : [IMAC2][C++][TD10] noms du binôme
x Exercice 1. Standard Template Library?
Objectif de l’exercice : Un peu de théorie
Questions
• Définissez en quelques mots la STL?
• Quelle classe de la STL utilisez vous régulièrement?
• Sur quel mécanisme la STL se repose t’elle principalement?
A faire Pour préparer le TP, récupérez votre code ou la correction du TP6.
x Exercice 2. Un champs de vecteur
Objectif de l’exercice : Utiliser le conteneur vector Révisions : std::vector
Questions
• Quelle est la complexité d’accès à un élément d’un std::vector
• Quelle est la complexité d’ajout d’un élément à un élément d’un std::vector
A faire
Créez rapidement une struct Vec4f contenant 4 float x, y, z et w. Créez une fonction
capable de remplir un std::vector avec n Vec4f aléatoires.
1
x Exercice 3. Iterateurs
Objectif de l’exercice : Utiliser un iterateur. Révisions : ::iterator
Questions
• Rappelez ce qu’est un iterateur.
A faire Utilisez
précédemment créé.
un
std::vector¡T¿::const iterator
pour
afficher
le
std::vector
x Exercice 4. Algorithmes
Objectif de l’exercice : Utiliser les algorithmes STL. Révisions : sort
Questions
• Rappelez ce que sont les algorithmes STL
A faire
Vous devez trier votre tableau de Vec4f en utilisant la coordonnée z. Référrez vous à la
documentation pour comprendre l’utilisation de la fonction std::sort.
x Exercice 5. MultiMap ⋆
Objectif de l’exercice :
std::multimap
Utiliser
un
conteneur
STL
complexe
Révisions :
std::map,
Questions
• Rappelez ce qu’est une map ou tableau associatif.
A faire Lisez et comprenez la classe SpatialHashMap puis implantez les fonctions insert
et findNextTo.
2

Documents pareils