title: What's the difference between these three forms of syntax for calling a method?
body: <p>The following both call the function <code>T::f</code> on object <code>t</code>.</p>
  
  <pre><code>1. t.f();
  2. t.T::f();
  3. (t.*&amp;T::f)();
  </code></pre>
  
  <p>I've seen the second one used where the other was not. What is the difference between these two and in what situation should one be preferred?</p>
  
  <p>Thanks.</p>
  
  <p><strong>EDIT</strong>: Sorry, I forgot about the second one <code>t.T::f()</code>. I added that one in.</p>