title: C++ What's the difference between function_pointer and &function_pointer?
body: <p>I was reading some documentation, and I saw that one can initialize function pointers with and without the '&amp;':</p>
  
  <pre><code>    #include &lt;iostream&gt;
  
      int No() { return 5; }
  
      int main() {
  
          int (*f)() = &amp;No; //method 1
          int (*f2)() = No; //method 2
  
          std::cout &lt;&lt; (*f)() &lt;&lt; std::endl; //prints out 5
          std::cout &lt;&lt; (*f2)() &lt;&lt; std::endl; //prints out 5
  
          return 0;
      }
  </code></pre>
  
  <p>I can't see the difference between the two methods. Is one "better" than the other? Are there any differences between those two?</p>