Почему const_cast создает два значения для одной переменной
Я читал о const_cast, поскольку он должен удалить постоянство переменной,
const int c1 = 100;
int *c2 = const_cast <int *>(&c1); // removing the constantness
*c2 = 200; // hence now i can edit it
cout << *c2 << endl; // reflect the changed value = 200
cout << c1 << endl; // still old value = 100
постоянство удалено и переменная, которую я могу редактировать, это то же самое, что передать ее какой-то функции, которая получает тип данных int *,
но почему одно и то же острое пространство показывает два значения?
Создает ли const_cast какое-то другое временное пространство?