Я пытаюсь удалить константу из переменной (char *), но по какой-то причине, когда я пытаюсь изменить значение, исходное значение константной переменной все равно остается неизменным ,Удалить константу из переменной
const char* str1 = "david";
char* str2 = const_cast<char *> (str1);
str2 = "tna";
теперь изменяется значение str2, но первоначальное значение str1 остается тем же, я уже посмотрел его на Google, но не смог найти однозначный ответ.
при использовании const_cast и изменении значения, если исходник константной переменной также изменится?
Хорошо, так есть способ, которым я могу изменить значение переменной const char * с помощью кастинга? –
@DavidFaiz Вы можете изменить указатель как можно точнее без актерского состава. Вы * не можете * изменить 'char', если вы указали указатель на строковый литерал, который у вас есть. Строковые литералы постоянны. См. Мое последнее редактирование о том, как скопировать строковый литерал в массив. –
Я только что видел его и получил! Большое спасибо за быстрый ответ! так что я не могу изменить строку literal, но просто использую переменную const char и указываю на другую. –