title: Help understanding boost::bind placeholder arguments
body: <p>I was reading a StackOverFlow post regarding sorting a vector of pairs by the second element of the pair. The most obvious answer was to create a predicate, but one answer that used boost caught my eye.</p>
  
  <pre><code>std::sort(a.begin(), a.end(), 
    boost::bind(&amp;std::pair&lt;int, int&gt;::second, _1) &lt;
    boost::bind(&amp;std::pair&lt;int, int&gt;::second, _2));
  </code></pre>
  
  <p>I've been trying to figure out how boost::bind works, or at least just how to use it, but I can't figure out what the purpose of the placeholder arguments _1 and _2 are, and the boost documentation doesn't sink in at all.</p>
  
  <p>Could anyone explain this specific usage of boost::bind? </p>
  
  <p>P.S. Original question: <a href="https://stackoverflow.com/questions/279854/how-do-i-sort-a-vector-of-pairs-based-on-the-second-element-of-the-pair">How do I sort a vector of pairs based on the second element of the pair?</a></p>