4

次のように、条件付きで bool への明示的なキャストを日常的に行う同僚がいます。

SomeType *ptr = /* some value */;
if (static_cast<bool>(ptr)) {
    // do something
}

しかし、そのような冗長さの正当な理由を見つけることができませんでした。何か案は?

編集: 同僚は、それは明快で明確であることだと言っていますが、私はこの説明があまり説得力があるとは思いません. 他の C++ 専門家がこれを推奨しているかどうかを確認するために、ここに質問を持ち出しました。

4

3 に答える 3

2

if (static_cast<bool>(ptr)) is completely equivalent to if (ptr).

Maybe your colleague thinks using static_cast adds some clarity to the code.

于 2019-11-02T19:49:14.707 に答える