Que signifie const à la fin d'une déclaration de fonction en C++ ?
Bonjour à tous ! J'ai commencé à apprendre le C++ et je suis tombé sur une syntaxe qui m'a dérouté. Dans certaines déclarations de méthodes de classe, je vois le mot-clé `const` non pas avant le type de retour, mais tout à la fin, après la liste des paramètres. Par exemple :
```cpp
class MyClass {
public:
int getValue() const; // <-- voici le const à la fin
};
```
Je comprends que `const` avant une variable la rend immuable, mais que signifie `const` à la fin d'une fonction ? Est-ce lié au fait que la fonction ne peut pas modifier les données ? Ou cela affecte-t-il les méthodes que l'on peut appeler pour des objets constants ?
Mon exemple concret : j'ai une classe qui stocke une valeur, et je veux écrire une méthode pour l'obtenir. Si je ne mets pas `const` à la fin, je ne peux pas appeler cette méthode pour un objet constant. Pourquoi cela se produit-il ? Et qu'est-ce que ce `const` interdit exactement ?
Je serais reconnaissant pour une explication détaillée avec des exemples, car dans les manuels, c'est expliqué de manière un peu confuse.
<<>>