double diff = static_cast<int64_t>(a- b);
aおよびbタイプはint64_tです。
私たちのプロジェクトでこのコードを見ました。疑わしいと思いますが、よくわかりません。私は に精通しておりstatic_cast、このようなコードは書きません。
この static_cast は有効/合法ですか? それは役に立ちますか?
double diff = static_cast<int64_t>(a- b);
aおよびbタイプはint64_tです。
私たちのプロジェクトでこのコードを見ました。疑わしいと思いますが、よくわかりません。私は に精通しておりstatic_cast、このようなコードは書きません。
この static_cast は有効/合法ですか? それは役に立ちますか?
aとbが両方ともである場合int64_t、キャストの意味はありません。int64_ttype の結果を typeにキャストしていint64_tます。これは次のようになります。
int a = 10, b = 5;
double c = (int)(a - b); // the cast is not needed, but also not "harmful"
このキャストは有効ですが、何もしません。疑わしいことに同意します。コードが何をしているのかを慎重に確認する必要があります。それが正しい場合は、意図がより明確になり、疑わしく見えないように書き直す必要があります。