次の質問に対する回答は、C++でのstatic_cast
、dynamic_cast
、およびの推奨される使用法を示しています。reinterpret_cast
static_cast、dynamic_cast、const_cast、および reinterpret_cast はいつ使用する必要がありますか?
この種のキャストの誤用を検出するために使用できるツールを知っていますか? PC-Lint や Coverity Static Analysis などの静的解析ツールはこれを行いますか?
この質問を促した特定のケースはstatic_cast
、ポインターをダウンキャストするための不適切な使用であり、コンパイラーは警告しません。ツールを使用してこのケースを検出したいと思います。開発者がこの間違いを決して犯さないとは思いません。