title: std::deque: How do I get an iterator pointing to the element at a specified index?
body: <p>I have a std::deque, and I want to insert an element at a specified index (I'm aware that std::list would be better at this).  The deque::insert() function takes an iterator to specify the location to insert.  Given an index, how can I get an iterator pointing to that location, so that I can pass that iterator to insert()?</p>
  
  <p>For example:</p>
  
  <pre><code>void insertThing ( deque&lt;Thing&gt; &amp; things, Thing thing, size_t index )
  {
     deque&lt;Thing&gt;::iterator it = /* what do I do here? */
     things.insert ( it, thing );
  }
  </code></pre>
  
  <p>I'm sure this is a very basic question, and I apologize for it.  It's been a long time since I've used the STL, and I don't see anything in std::deque's member list that obviously does what I want.  Thanks.</p>