Является ли неопределенным поведением отбрасывать постоянство параметра функции?

Представьте, что у меня есть эта функция на языке Си (и соответствующий прототип в заголовочном файле)

void clearstring(const char *data) {
    char *dst = (char *)data;
    *dst = 0;
}

Есть ли неопределенное поведение в приведенном выше коде, передавая const прочь, или это просто ужасно плохая практика программирования?

Предположим, что не используются объекты с критериями const

char name[] = "pmg";
clearstring(name);
15
задан pmg 31 January 2012 в 15:52
поделиться