title: In C++, When Should I Make A Method Constant?
body: <p>My question title pretty much asks it all. I've recently found out that it is good programming practice in C++ to pass many values by const reference and mark certain methods in classes as a constant method. Right now, I have a library that I have been writing for myself for a while now that has absolutely no const-correctness, so I'd like to start rectifying that little by little.</p>
  
  <p>In what specific scenarios should I make a method constant? So far I know "getter" methods should generally be made constant (since the code in one shouldn't modify any class variables), but do I do that for <em>all</em> methods that are considered getters, or only specific ones? And outside of getter methods, what other scenarios should methods be made constant?</p>