title: What does ampersand & do in a function name?
body: <p>I understand that having an ampersand before declaring a variable in a function is a call by reference, and it will modify variable i created in my <code>main</code> function.</p>
  
  <pre><code>int my_func(int &amp;my_var){
      my_var += 9;
      return my_var;
  }
  
  
  int main(void){
      int some_var = 1;
      my_func(some_var); // value of some_var is now 10
      return 0;
  </code></pre>
  
  <p>However, what does an ampersand before a function name do? For example</p>
  
  <pre><code>int &amp;my_func(int &amp;my_var){
      my_var +=9;
      return my_var;
  }
  </code></pre>