title: Address of the pointed element whatever the iterator type/pointer is passed
body: <p>What would be the most generic syntax for the following function :</p>
  
  <pre><code>template&lt;IteratorType&gt; void myFunction(const IteratorType&amp; myIterator)
  {
      _ptr = &amp;myIterator[0];
  }
  </code></pre>
  
  <p>It take an iterator myIterator (it can be a raw pointer) and the goal is to assign the address of the object pointed by <code>myIterator</code> to a raw pointer <code>_ptr</code>. Currently I use <code>&amp;myIterator[0]</code> but I realized that only random access iterators have the operator []. </p>
  
  <p>So is there a syntax that will work with all type of standard iterators and pointers ?</p>