title: local reference does not reference
body: <p>Reference as far as I know is a variable which holds an adress to an object.
  Hence I do not understand this:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include&lt;string&gt;
  
  char* lol[]={"123","abc"};
  char* fu(int i){return lol[i];};
  
  int main ()
  {
      const string&amp; ru=fu(0);
      lol[0]="567";
      cout&lt;&lt;ru&lt;&lt;endl&lt;&lt;lol[0];
      return 0;
  }
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>123
  567
  </code></pre>
  
  <p>I was expecting</p>
  
  <pre><code>567
  567
  </code></pre>
  
  <p>As I undersnand ru holds an adress to lol[0], so when I changed lol[0], ru had to return me that change.
  Could anyone explain me why that is happening?</p>