title: Binding rvalue to const lvalue reference
body: <p>For some reason I didn't manage to find this exact question. Why is it allowed to bind an <code>rvalue</code> to <code>const lvalue reference</code>, although it is impossible to to the same without the <code>const</code>?</p>
  
  <p>I do understand that the lifetime of the rvalue gets an extension somehow (in the first case) , but if so, why would the compiler disallow changing that 'rvalue', which is not really a temporary object anymore.</p>
  
  <p>For example, consider the following code: </p>
  
  <pre><code>int main(){
     int &amp;i=3; //produces error
     const int&amp;j =3; //compiles
     return 1;
  }
  </code></pre>