Salut
Je suis en train de faire des tests avec la STL et je rencontre un petit problème, je sais pas si j'ai manqué quelque chose, mais j'aurais voulu savoir

J'utilise et je voudrais comparée deux ojet de ce type mais la où sa coince c'est que les objets stockés à l'interieur sont des pointeurs

exemple:
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
    std::deque<carte*> *j = new std::deque<carte*>;
    j->push_back(new carte(1,1));
    j->push_back(new carte(2,1));
 
    std::deque<carte*> *k = new std::deque<carte*>;
    k->push_back(new carte(1,1));
    k->push_back(new carte(2,1));
 
    std::deque<carte*> *l = new std::deque<carte*>;
    l->push_back(new carte(1,1));
    l->push_back(new carte(3,1));
 
    if(*j==*k)
        std::cout << "j egale k" << std::endl;
    else std::cout << "j diff k" << std::endl;
 
    if(*j==*l)
        std::cout << "j egale l" << std::endl;
    else std::cout << "j diff l" << std::endl;
 
    delete j; delete k; delete l;
J'ai sa
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
console:
j diff k //note: au lieu de j egale k
j diff l
Donc a priori ici l'operator== compare les adresse des pointeurs mais n'apelle pas l'operator== de carte, comment faire pour l'appeler, dois-je passer par une derivation de std::deque<T> ?