もともと *int だった void* から int の値を取り出す時って

nValue = *((int*)p);

こう書くしかないでしょうか?なんかもっと簡単な記述ありましたっけ?