Dois valores diferentes no mesmo endereço de memória

Código
#include <iostream>
using namespace std;

int main() {
    const int N = 22;
    int * pN = const_cast<int*>(&N);
    *pN = 33;
    cout << N << '\t' << &N << endl;
    cout << *pN << '\t' << pN << endl;
}
Resultado

22 0x22ff74

33 0x22ff74

Por que existem dois valores diferentes no mesmo endereço?

questionAnswers(6)

yourAnswerToTheQuestion