Bonjour,

je suis un programmeur c++, et là je suis face à une mystification de C#.
Je vois le résultat, mais je n'arrive pas à comprendre pourquoi ça se passe comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
List<int> l1 = new List<int>();
List<int> l2 = l1;
l2.Add(2);
A la fin de ce code, l1 contient 2...

En C++, ce n'est pas le cas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
std::list<int> l1 ;
std::list<int> l2 = l1 ;
l2.push_back(2) ;return 0 ;
l1 est toujours vide à la fin.

Je ne vois vraiment pas pourquoi.

Merci de m'aider

Régis