title: Convert string::iterator to std::string
body: <p>Now this is a little confusing for me, but std::string::iterator actually yields a char (as revealed by typeid). I need it as a string though. How can I do this?</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;iterator&gt;
  
  int main(){
      std::string str = "Hello World!";
      for( std::string::iterator it = str.begin(); it != str.end(); it++ ){
          std::string expectsString(*it); // error
          std::string expectsString(""+*it); // not expected result
          myFunction(expectsString);
      }
  }
  </code></pre>
  
  <p>I'm using gcc 5.4.0 with C++11 enabled.</p>
  
  <p>edit: As this needs further clarification
  I want to convert *it to a string. So I can use the currently iterated through character as a string, instead of a char.
  As my failed examples in the above code example demonstrate, I was looking for something like</p>
  
  <pre><code>std::string myStr = *it; //error
  </code></pre>