title: Difference between std::function<> and a standard function pointer?
body: <p>Whats the difference between std::function&lt;> and a standard function pointer?</p>
  
  <p>that is:</p>
  
  <pre><code>typedef std::function&lt;int(int)&gt; FUNCTION;
  typedef int (*fn)(int);
  </code></pre>
  
  <p>Are they effectively the same thing?</p>