title: Difference between C++0x lambdas and operator(), closure and functor
body: <p>I'm confident I get the general gist of the constructs, but I can't see the purpose of them in c++. I have read the previous posts on the topic here on SO and elsewhere, but I fail to see why they should be a new language feature.</p>
  
  <p>The things I would like answered is thusly</p>
  
  <ul>
  <li><p>What is the difference between a lambda and a template argument accepting a function/functor.</p></li>
  <li><p>Is a closure just a functor with some set object state (scope?)?</p></li>
  <li>What is the "killer app" for these constructs? or perhaps the typical use case?</li>
  </ul>