Constance

L'utilisation du mot clé const dans le C++ n'est pas toujours claire. Vous ne devez pas penser que const Quelquechose* déclare un pointeur sur un type const Quelquechose ; le pointeur peut être modifié, mais pas le Quelquechose sur lequel il pointe.

Ainsi, l'équivalent RefPtr de Quelquechose* pour un paramètre de fonction membre est const Glib::RefPtr<Quelquechose>& et l'équivalent de const Quelquechose* est const Glib::RefPtr<const Quelquechose>&.

Le const ... & qui entoure les deux expressions est juste une question d'efficacité, c'est comme utiliser const std::string& à la place de std::string pour un paramètre de fonction pour éviter une recopie non nécessaire.