conversión de rvalue a lvalue Visual Studio
En Visual Studio 2012RC hay algunas extensiones no estándar. Por ejemplo este código compila:
#include <string>
using namespace std;
void value(string& value)
{
value = "some";
}
int main()
{
value(string("nice"));
}
y recibe una advertencia de que no es una extensión estándar. Entonces, quiero entender, ¿cómo es real y cómo se transforma el código (rvalue-reference o const reference con const_cast)?