title: C++ : What are the purpose of captures in lambda expressions?
body: <p>How are captures different than passing parameters into a lambda expression? When would I use a capture as opposed to just passing some variables?</p>
  
  <p>for reference: <a href="http://en.cppreference.com/w/cpp/language/lambda#Lambda_capture" rel="noreferrer">http://en.cppreference.com/w/cpp/language/lambda#Lambda_capture</a></p>
  
  <p>The reference only defines it as a "list of comma separated values" but not what they're for or why I'd use them.</p>
  
  <p>To add: This is not the same question as "what is a lambda expression" because I'm not asking what a lambda expression is or when to use it. I'm asking what the purpose of a <em>capture</em> is. A capture is a component of a lambda expression, and can take values, but it's not well explained elsewhere on the internet what these values' intended purpose is, and how that is different from the passed values that follow the capture.</p>