Avatar ·

Que signifie const à la fin d'une déclaration de fonction membre d'une classe en C++ ?

Bonjour à tous ! J'ai commencé à apprendre le C++ après Python et Java, et je suis tombé sur une syntaxe que je ne comprends pas. Dans du code écrit par d'autres, je vois souvent le mot-clé `const` après la déclaration d'une fonction membre d'une classe. Par exemple : ```cpp class MyClass { public: int getValue() const; // Ce const à la fin void setValue(int v); }; ``` Je comprends que `const` avant une variable signifie que la variable ne peut pas être modifiée. Mais que signifie `const` *après* la liste des paramètres ? J'ai essayé de l'écrire sans — le compilateur ne se plaint pas. À quoi sert-il alors ? Est-ce que cela affecte la façon dont je peux appeler la fonction ? Puis-je le mettre pour n'importe quelle fonction ? Ou seulement pour les getters ? J'ai écrit une classe simple : ```cpp class Counter { public: Counter() : count(0) {} int getCount() const { return count; } // Fonctionne void increment() { count++; } // Fonctionne private: int count; }; ``` Mais quand j'ai essayé de faire `void increment() const { count++; }` — le compilateur a donné une erreur. Pourquoi ?