const char *をchar *に変換?

引数で
void func( const char * const src) { ... }
となっているような変数に対して関数内で

char *ptr = (char *)src; /* constだよ! constだよ! */

なんていうキャストができる。
それを使えば、変更されないと思ってたsrcが関数内で当たり前のように変更される可能性がある。
もはやどんなconstも安心できなくなってきました。
C++の時も似たような事を思ったけど(const_castについて)、Cでもできたんですね。
まあ特別な事情でもない限り、誰もそんなキャストはしないんでしょうけど。