title: What type do lambdas get compiled into?
body: <p>As I know all data types must be known at compile time, and lambda is not a type. Does lambda got translated into <code>anonymous struct with operator()</code> or <code>std::function</code> wrapped?</p>
  
  <p>For example,</p>
  
  <pre><code>std::for_each(v.begin(), v.end(), [](int n&amp;){n++;});
  </code></pre>