Снятие константности в C++
Приведение const_cast меняет
квалификатор const у ссылки или
указателя, но не превращает настоящий
константный объект в изменяемый.
Безопасный прием - взять адрес обычной
переменной через const int*,
получить int* через const_cast
и записать новое значение:
#include <iostream>
int main() {
int value = 1;
const int* view = &value;
int* edit = const_cast<int*>(view);
*edit = 9;
std::cout << value << "\n";
return 0;
}
Объявите int x = 2, указатель
const int* p = &x, снимите
const через const_cast,
запишите 5 и выведите x.