title: Do I need to write the `const` keyword when passing a `const_iterator` as argument?
body: <pre><code>static void MyClassMethod(
            std::list&lt;AClass&gt;                 &amp; AnObject,
      const std::list&lt;AClass&gt;::const_iterator &amp; BeginningPoint);
  </code></pre>
  
  <p>In my code, I'm passing a <code>const_iterator</code> of a <code>const</code> STL object. It feels like one of the constantnesses is redundant.</p>
  
  <p>How does it differ if I only remove the <code>const</code> keyword, or if I only change <code>const_iterator</code> to <code>iterator</code>?</p>