title: Does std::string::find() use KMP or a suffix tree?
body: <p>I wonder which algorithm is used for matching a pattern against a string in the standard library. A suffix tree would be the best choice if one has got more search to perform within the same string. </p>
  
  <p>Is that the data structure behind <code>std::string::find()</code> or a one-shot algorithm like Knuth-Morris-Pratt algorithm is used?</p>