Avatar ·

O que significa const no final da declaração de uma função em C++?

Olá a todos! Comecei a estudar C++ e me deparei com uma sintaxe que me confundiu. Em algumas declarações de métodos de classe, vejo a palavra-chave `const` não antes do tipo de retorno, mas no final, após a lista de parâmetros. Por exemplo: ```cpp class MyClass { public: int getValue() const; // <-- este const no final }; ``` Eu entendo que `const` antes de uma variável a torna imutável, mas o que significa `const` no final de uma função? Isso está relacionado ao fato de que a função não pode modificar dados? Ou isso afeta quais métodos podem ser chamados para objetos constantes? Meu exemplo específico: tenho uma classe que armazena algum valor e quero escrever um método para obtê-lo. Se eu não colocar `const` no final, não consigo chamar esse método para um objeto constante. Por que isso acontece? E o que exatamente esse `const` proíbe? Ficarei grato por uma explicação detalhada com exemplos, porque nos livros didáticos isso é explicado de forma meio confusa. <<>>

O que é