rvalue reference undfefined behavior
<pre><code>#include&lt;iostream&gt;

struct Test
{
    int n ;
    ~Test(){}

    Test&amp; operator =(int v)
    {
        n=v;
        return *this;
    }
};

Test * ptr = nullptr;

void g(Test &amp;&amp; p)
{
    std::cout &lt;&lt; "&amp;&amp;";
}


void g(Test &amp; p)
{
    ptr = &amp;p;
    std::cout &lt;&lt; "&amp;";
}

void f(Test&amp;&amp; t)
{
    g(t);
}

void buggy()
{
    *ptr  = 5;
}

int main()
{ 
    f(Test());
    buggy();
    std::cin.ignore(); 
} 
</code></pre>

<p>Just to be sure, the above code lead to an undefined behavior as we keep address of a tempory ? </p>
