title: Professional way to initialize an empty string in c++
body: <p>Hi I want to learn a professional way to initialize an emtpy string in c++.</p>
  
  <p>I could do</p>
  
  <pre><code>std::string a_string;  // way_1
  </code></pre>
  
  <p>or </p>
  
  <pre><code>std::string a_string = "";  // way_2
  </code></pre>
  
  <p>But I think <code>way_1</code> is fully depending on the default value defined in <code>std</code> package. To me, it is not an explicit declaration, and it might need to be changed if the codes of std::string is changed in the future. <code>way_2</code> to me is not directly but using <code>""</code> which is equivalent to an empty string. To me, a built-in empty string is professional, like <code>nullptr</code> for initializing a pointer.</p>
  
  <p>Do you know how would C++ professional programmers initialize an empty string?</p>
  
  <p>Thanks</p>