Built with from Grav and Hugo
C’est l’heure du test ! N’oubliez pas que vous pouvez utiliser Godbolt pour compiler et tester des petits bouts de code. Bon courage à vous 🙂
1- Quel type de boucle faut-il utiliser pour modifier la structure d’un conteneur lors d’un parcours ?
2- Dans quel cas peut-il être intéressant d’utiliser la fonction std::for_each ?
std::for_each
3- Quels headers contiennent les algorithmes de la STL ?
4- Donnez un exemple d’utilisation de std::find_if. Vous pouvez considérer que les variables dont vous auriez besoin ont déjà été définies plus haut (ça s’applique aux prochaines questions aussi).
std::find_if
5- Qu’est-ce qu’un prédicat ?
6- Quelle fonction permet de savoir si l’ensemble des éléments d’un conteneur vérifie un prédicat ?
7- Donnez un exemple d’utilisation de cette fonction sur un std::vector.
std::vector
8- Quelle fonction permet de récupérer le minimum et le maximum d’une plage d’éléments en une seule passe ?
9- Ecrivez les instructions permettant de retirer tous les noms commençant par un ‘A’ d’un vector<string>.
vector<string>
10- A quoi sert std::back_inserter ?
std::back_inserter
11- Soit une list<string>. Ecrivez les instructions permettant de créer un tableau contenant le nombre de caractères de chaque élément de cette liste.
list<string>
12- Qu’est-ce qu’une réduction ? Quelles fonctions permettent d’effectuer ce genre d’opération ?
13- Quelle catégorie d’itérateur permet d’accéder à n’importe quel élément d’une plage en temps constant ?
14- En supposant que vous avez un itérateur permettant d’itérer sur une plage de Donkey, quelles peuvent-être les signatures de ses opérateurs de déréférencement ?
Donkey
15- Comment appelle-t-on l’opérateur ayant la signature suivante : It operator++(int) ?
It operator++(int)
16- A quoi sert la capture dans une lambda ?
17- Quelle classe de la librairie standard permet de stocker des lambdas ?
18- Comment savoir si une variable est capturée par référence ou par valeur ?
19- Comment faut-il faire pour capturer les attributs d’une classe ?
20- Que faut-il faire pour pouvoir modifier un objet capturé par valeur ?
21- Pourquoi doit-on souvent utiliser auto pour définir des variables contenant des lambdas ?
auto
22- Soit une lambda nommée is_finished, capturant un entier par référence, prenant en paramètre une string_view et un float, et retournant un bool. Donnez une instruction permettant d’exécuter cette lambda.
is_finished
string_view
float
bool