[exercice] contenu, contenant et conteneur
Bonjour,
c'est l'été, alors je vous propose un petit jeu.
Dans le code qui suit, nous avons un conteneur, qui contient un tableau (vector). Nous voulons récupérer ce tableau pour y ajouter un élément.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
struct Container
{
// constructeur
Container() : my_vector ( { 1, 2, 3 } ) {}
// accesseur au contenu qui renvoie un référence sur le vector (et non constante, pour qu'on puisse le modifier)
vector<int> & get_vector() { return my_vector; }
private:
// le contenu
vector<int> my_vector;
};
int main()
{
// on créé un conteneur
Container my_container;
// on récupère le contenu du conteneur
auto content_reference = my_container.get_vector();
// on a joute un élément à ce contenu
content_reference.push_back(4);
// on vérifie que l'élément a bien été ajouté
copy(my_container.get_vector().begin(), my_container.get_vector().end(), ostream_iterator<int>(cout, " "));
cout << endl;
getchar();
return 0;
} |
Questions:
:arrow: Quel est l'output de ce programme?
:arrow: Pourquoi?