What's the difference between a const member function and a non-const member function?
<p>I am very confused about the const version and non-const version member function like below:</p>

<pre><code>value_type&amp; top() { return this.item }
const value_type&amp; top() const { return this.item }
</code></pre>

<p>What is the difference between these two functions? In what situation would they be used?</p>
