Bonsoir,

Voila, je cherche a declarer un conteneur de la STL (List de prefence) comme contenant des reference vers un objet "Arme".

Si j'ecris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
    list<Arme*> Arsenal;
Alors je declare une list de pointeur d'Arme.
Cependant, j'essaye au maximum de faire disparaitre les pointeurs au profit des reference. Je me suis dit que list<Arme*> Arsenal; en pointeur equivaut a list<Arme&> Arsenal; en reference.

Cependant, tout plante. Alors je cherche l'allocateur. Il s'agit certainement de ce template :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
  template<typename _Tp>
    class new_allocator
    {
    public:
      typedef size_t     size_type;
      typedef ptrdiff_t  difference_type;
      typedef _Tp*       pointer;
      typedef const _Tp* const_pointer;
      typedef _Tp&       reference;
      typedef const _Tp& const_reference;
      typedef _Tp        value_type;
On voit bien le typedef du pointeur mais aussi celui de la reference !!
Je ne comprend donc pas ou est mon erreur.

Si quelqu'un peut me fournir des explication, se serait bienvenue car je n'ai pour le moment rien trouver de simple sur la toile (en fait, j'ai rien trouver tout court).

Comment declare t'on donc une list de reference sur objet ?

Merci beaucoup.