title: How to choose between `std::vector<char>` and `std::string`?
body: <p>What aspects need to be considered when making such a choice?</p>
  <p>My two cents about this question:</p>
  <p>1.The <code>std::string</code> is still valid even if there is a <code>\0</code> in the middle of data stream.</p>
  <p>2.<code>std::string</code> have many useful methods which could manipulate strings, whereas <code>std::vector&lt;char&gt;</code> does not provide.</p>
  <p>3.If the data is just binary stream, it's better to choose <code>std::vector&lt;char&gt;</code> other than <code>std::string</code>.</p>