rvalue to lvalue conversion Visual Studio

Viewed 3916

In Visual Studio 2012RC there are some non-standard extensions. For example this code compiles:

#include <string>

using namespace std;

void value(string& value)
{
    value = "some";
}

int main()
{
    value(string("nice"));
}

and get warning that it is non-standard extension. So, I want to understand, how it's real and how code transforms (rvalue-reference or const reference with const_cast)?

3 Answers
Related