Visual Studio 2012RC には、非標準の拡張機能がいくつかあります。たとえば、このコードは次のようにコンパイルされます。
#include <string>
using namespace std;
void value(string& value)
{
value = "some";
}
int main()
{
value(string("nice"));
}
非標準の拡張子であるという警告が表示されます。それで、それがどのように現実のものであり、コードがどのように変換されるか(右辺値参照またはconst_castによるconst参照)を理解したいですか?