title: lvalue reference on rvalue reference
body: <p>I have an interesting example to understand lvalue reference, rvalue reference, and std::forward. Maybe it will be a useful example for a deep understating concept.</p>
  <pre><code>void foo(int&amp;&amp; a){
    cout&lt;&lt;&quot;foo&amp;&amp;&quot;&lt;&lt;endl;
  }
  
  void foo(int&amp; a){
    cout&lt;&lt;&quot;foo&amp;&quot;&lt;&lt;endl;
  }
  
  template &lt;typename T&gt;
  void wrapper(T&amp;&amp; a){
    cout&lt;&lt;&quot;wrapperTemplate&quot;&lt;&lt;endl;
    foo(forward&lt;T&gt;(a));
  };
  
  int main()
  {
    double&amp;&amp; a=5;
    double&amp; t=a;
    wrapper(t);
  }
  </code></pre>
  <p>The output is:</p>
  <pre><code>wrapperTemplate
  foo&amp;&amp;
  </code></pre>