Zwei verschiedene Werte bei gleicher Speicheradresse

Cod
#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;
}
Ausgab

22 0x22ff74

33 0x22ff74

Warum gibt es zwei verschiedene Werte an derselben Adresse?