Возможность изменить константу(нет) или в одной области лежат разные значения

Решил поэкспериментировать с снятием const с переменной и получил очень интересный результат. Получается у нас в одной области памяти лежат разные данные? Кто объяснит что произошло.

int main()
{
    const int a = 5;

    const int* ptrA = &a;

    auto ptrA2 = const_cast<int*>(ptrA);

    *ptrA2 = 3;

    cout << "&a\t=\t" << &a << "\t a\t=\t" << a << endl;
    cout << "ptrA\t=\t" << ptrA << "\t *ptrA \t=\t" << *ptrA << endl;
    cout << "ptrA2\t=\t" << ptrA2 << "\t *ptrA2\t=\t" << *ptrA2 << endl;

} __


Ответы (0 шт):