Сброс const здесь может привести к отключению компилятора, но приведет к сбоям во время выполнения. Сделайте копию строки и работайте над этим.
Удаление const не копирует содержимое памяти. Он просто создает указатель на ту же самую память и сообщает компилятору, что он может пойти дальше и записать в эту память. Если память только для чтения, у вас есть сбой защиты. Более серьезно, у вас могут быть проблемы с корректностью, которые трудно отладить. Не выбрасывайте const.
Конечно, если вам нужно изменить переменную и сделать эти изменения видимыми для вызывающей стороны, то вам не следует делать это в первую очередь const. С другой стороны, если модификации предназначены для приватной функции, лучше всего дублировать параметр const.
Как правило, вы должны избегать приведений, если это возможно. Приведения являются одним из наиболее частых источников ошибок.