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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Quel est l'output de ce programme?
Pourquoi?