title: Does using `std::string::c_str` return a dynamically allocated array?
body: <p>The documentation on <code>std::string::c_str</code> says:</p>
  
  <p>"Returns a pointer to an array that contains a null-terminated sequence of characters (i.e., a C-string) representing the current value of the string object."</p>
  
  <p>Is this array dynamically allocated on calling c_str? If not where does it come from?</p>