¿Qué significa const al final de la declaración de una función en C++?
¡Hola a todos! Empecé a estudiar C++ y me encontré con una sintaxis que me confundió. En algunas declaraciones de métodos de clase veo la palabra clave `const` no antes del tipo de retorno, sino al final, después de la lista de parámetros. Por ejemplo:
```cpp
class MyClass {
public:
int getValue() const; // <-- este const al final
};
```
Entiendo que `const` antes de una variable la hace inmutable, pero ¿qué significa `const` al final de una función? ¿Tiene que ver con que la función no puede modificar datos? ¿O afecta a qué métodos se pueden llamar para objetos constantes?
Mi ejemplo concreto: tengo una clase que almacena algún valor y quiero escribir un método para obtenerlo. Si no pongo `const` al final, no puedo llamar a este método para un objeto constante. ¿Por qué sucede esto? ¿Y qué prohíbe exactamente este `const`?
Agradecería una explicación detallada con ejemplos, porque en los libros de texto está explicado de manera confusa.