Avatar ·

¿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.