title: std::unordered_map throwing an unhandled exception
body: <p>I have a std::unordered_map as part of a global variable of a struct type:</p>
  
  <pre><code>typedef struct level_locals_s {
      std::unordered_map&lt;std::string, std::string&gt; spawnVars;
      ...
  } level_locals_t;
  
  level_locals_t level;
  
  
  ...
  
  ...
  
  
  void AddSpawnFields( char *key, char *value ) {
      level.spawnVars.insert(std::make_pair&lt;std::string, std::string&gt;(key, value);
  }
  </code></pre>
  
  <p>The program crashes upon the insert. I have checked, and the key/value are correct. Here's where it crashes:</p>
  
  <pre><code>iterator begin()
  {   // return iterator for beginning of mutable sequence
      return (iterator(this-&gt;_Nextnode(this-&gt;_Myhead), this));
  }
  </code></pre>
  
  <p>this->_Myhead appears to be NULL. What would be the cause of this?</p>
  
  <p>Using Microsoft Visual C++ 2010. 0xC0000005: Access violation reading location 0x00000000 is the error.</p>
  
  <p>EDIT: Here is a compilable example:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;string&gt;
  #include &lt;unordered_map&gt;
  
  using namespace std;
  
  typedef struct level_locals_s
  {
      unordered_map&lt;string, string&gt; spawnArgs;
  } level_locals_t;
  
  level_locals_t level;
  
  void main(char **args, int argc)
  {
      string st1 = "key";
      string st2 = "value";
  
      memset(&amp;level, 0, sizeof(level));
      level.spawnArgs.insert(pair&lt;string, string&gt;(st1, st2));
  }
  </code></pre>