Et oui mais le probleme des const, c'est que c'est mal implemente en C++.
Je suis 200% pour les const, mais de temps en temps on voit des choses comme cela:
const vector<prout*> pouetpouet() const;
Et cela rompt le contrat du const dans le cas ou les *prout appartiennent a cette classe.
Impossible grace a ces merveilleux templates de caster en const vector<const * prout>.
Solution: const *prout getPouetAt() const; etc. Vive le C++...
je sais pas ce que c'est un contrat mais ça a l'air de te plaire...
Solution: Tu dupliques le vecteur avec std::copy ou avec une boucle, c'est comme ça qu'on convertit un vector<Foo *> en un vector<const Foo *>.
En effet j'ai toujours vu une ré implémentation des méthodes usuelles telle que at ou l'utilisation de getteurs...