Это неопределенное поведение, чтобы отбросить константу параметра функции?
Представьте, что у меня есть эта функция C (и соответствующий прототип в заголовочном файле)
void clearstring(const char *data) {
char *dst = (char *)data;
*dst = 0;
}
Есть ли неопределенное поведение в приведенном выше коде,кастингconst
прочьили это просто ужасно плохая практика программирования?
Предположим, что не используются объекты с константой
char name[] = "pmg";
clearstring(name);