I'm sort of duplicating this post because it requested that I start a new thread because I was replying to an old one, but here is a statement that prompted my questions: "Accessors should be const methods at the very least, because the object state isn't changed in the body." I came across this because of cv-qualifiers errors that I had because of a const that was introduced through netbeans automatically generating getter functions for me. When I removed all the const 's from my code, I was fine again. However, Radical Edward seems to be an expert and suggests the statement above, as was automatically done for me, that const is something that should be used. Does anyone have a reason for using a const? Does anyone have an explanation for what a const is? All I've ever seen about const is that they get in the way of compilations, adding headaches of const_cast 'ing and stuff. Is there a benefit to const 's? And what is this _state thing?