title: remove_if(str.begin(), str.end(), ::isspace); what does the ::isspace means?
body: <p>I'm recently want to find a way to trim string by using STL. I saw somebody use </p>
  
  <pre><code>remove_if(str.begin(), str.end(), isspace);
  </code></pre>
  
  <p>I found <code>isspace</code> is a funtion in stl, the header is <code>&lt;ctype.h&gt;</code>. I put the above code and header file in my function, then it could not pass the compile. The compiler is complaining something about <code>isspace</code>.</p>
  
  <p>I try </p>
  
  <pre><code>remove_if(str.begin(), str.end(), std::isspace);
  </code></pre>
  
  <p>it still could not pass the compilation.</p>
  
  <p>Then I found another guys use </p>
  
  <pre><code>remove_if(str.begin(), str.end(), ::isspace);
  </code></pre>
  
  <p>I try this, it could pass the compilation. </p>
  
  <p>My question is that </p>
  
  <ol>
  <li><p>why I could not pass the compilation by using the first two ways.</p></li>
  <li><p>what does the <code>::isspace</code> means? Is it want to mention it belongs to the STL or anything else? I am confused about the usage of <code>::</code>?</p></li>
  </ol>