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