Vender-me na const correção

Então, por que exatamente é sempre recomendável usar const sempre que possível? Parece-me que usar const pode ser mais uma dor do que uma ajuda em C ++. Mas, novamente, estou chegando a isso da perspectiva do Python: se você não quer que algo seja mudado, não o mude. Então, com isso dito, aqui estão algumas perguntas:

Parece que toda vez que eu marcar algo como const, recebo um erro e tenho que mudar alguma outra função em algum lugar para ser const também. Então isso me faz ter que mudaroutro funcionar em outro lugar. Isso é algo que fica mais fácil com a experiência?

São os benefícios de usar constrealmente o suficiente para compensar o problema? Se você não pretende alterar um objeto, por que não apenas não escrever código que não o altere?

Devo observar que, neste momento, estou mais focado nos benefícios de usar const para fins de correção e manutenção, embora também seja bom ter uma ideia das implicações de desempenho.

questionAnswers(16)

yourAnswerToTheQuestion