title: Difference of function argument as (const int &) and (int & a) in C++
body: <p>I know that if you write void function_name(int&amp; a), then function will not do local copy of your variable passed as argument. Also have met in literature that you should write void function_name(const int &amp; a) in order to say compiler, that I dont want the variable passed as argument to be copied.</p>
  
  <p>So my question: what is the difference with this two cases (except that "const" ensures that the variable passed will not be changed by function!!!)???</p>