В этих обстоятельствах, я думаю, я бы объяснил ситуацию: попытка изменить значение переменной , которая является const, приводит к неопределенному поведению.Вероятно, он спрашивает, как изменить переменную, которая сама не является const, но на которую вы получили указатель или ссылку на const.В этом случае, когда вы уверены сама переменная не удовлетворяет константам, вы можете отбросить константу с помощью const_cast
и продолжить модификацию.
Если вы сделаете то же самое, когда сама переменная будет квалифицирована как const, компилятор позволит скомпилировать код, но результатом будет неопределенное поведение.Попытка изменить переменную может быть успешной - или она может вызвать исключение, прервать программу, переформатировать жесткие диски устройства NAS или что-то еще.
Вероятно, также стоит упомянуть, что когда /если переменную, вероятно, потребуется использовать таким образом, вы можете указать, что сама переменная является изменчивой.Это в основном означает, что рассматриваемая переменная никогда не константна, даже если объект, частью которого она является , является константой.