Можем ли мы использовать `const_cast` для изменения постоянной переменной? [Дубликат]
На этот вопрос уже есть ответ:
Два разных значения при одном и том же адресе памяти 6 ответовint main()
{
const int ia = 10;
int *pia = const_cast<int*>(&ia);
*pia = 5;
std::cout << &ia << "\t" << pia <<endl;
std::cout << ia << "\t" << *pia <<endl;
return 0;
}
Вывод:
0x28fef4 0x28fef4
10 5
*pia
а такжеia
имеют один и тот же адрес, но имеют разные значения. Моя цель - использоватьconst_cast
, чтобы изменить постоянное значение, но как результат показывает, что оно не работает.
Кто-нибудь знает почему?