Код ниже компилируется и работает просто отлично. Просто, когда я подумал, что начинаю получать приличное понимание по ссылке rvalue и std:: forward - этот очень простой код обнаруживает, что есть что-то очень фундаментальное в отношении значения, которое я не понимаю. Просьба уточнить.
#include <iostream>
#include <iomanip>
using namespace std;
void fn( int&& n )
{
    cout << "n=" << n << endl;
    n = 43;
    cout << "n=" << n << endl;
}
int main( )
{
    fn( 42 );
}
Я скомпилирую его с g++ 4.7 со следующей командной строкой: 
g++ --std = С++ 11 test.cpp
Выход: 
п = 42 
п = 43 
Моя основная проблема заключается в том, где компилятор хранит 'n' в функции fn?