擬似的に()でくくってみるとわかるYO

( (char *) const) src; ポインタがconst
( (const char) *) str; charがconst
( (char const) *) str;の方が対比としてはわかりやすいかも。
「後置の*はconstより優先度が低い」と覚えればよい。