title: What does the const operator mean when used with a method in C++?
body: <p>Given a declaration like this:</p>
  
  <pre><code>class A {
  public:
      void Foo() const;
  };
  </code></pre>
  
  <p>What does it mean?</p>
  
  <p>Google turns up this:</p>
  
  <blockquote>
    <p>Member functions should be declared with the const keyword after them if they can operate on a const (this) object. If the function is not declared const, in can not be applied to a const object, and the compiler will give an error message.</p>
  </blockquote>
  
  <p>But I find that somewhat confusing; can anyone out there put it in better terms?</p>
  
  <p>Thanks. </p>