Was bedeutet const am Ende einer Member-Funktionsdeklaration in C++?
Hallo Kollegen! Ich habe vor kurzem mit dem Lernen von C++ begonnen und bin auf eine Syntax gestoßen, die mir völlig unklar ist. Ich sehe im Code Klassendeklarationen, bei denen nach der Parameterliste das Schlüsselwort `const` steht. Zum Beispiel:
```cpp
class MyClass {
public:
int getValue() const; // Was bedeutet dieses const?
void setValue(int v);
};
```
Ich verstehe, dass `const` vor einem Variablentyp diese unveränderlich macht (z.B. `const int x = 5;`). Aber was bewirkt `const` am Ende einer Funktionsdeklaration? Ich habe versucht, eine solche Methode zu schreiben, aber als ich innerhalb der Methode versuchte, ein Klassenfeld zu ändern, gab der Compiler einen Fehler aus. Warum?
Hier ist mein Code, der nicht kompiliert:
```cpp
class Counter {
private:
int count = 0;
public:
int getCount() const {
count = 10; // Fehler: kann nicht geändert werden