Iは、フロートまたは32ビットのUINTのいずれかとして定数を定義することができる:floatをintにキャストするか、intをfloatにキャストしますか?
const float SecondsPerMinute = 60.0F;
又は
const uint32 SecondsPerMinute = 60U;
CONSTは、INTを期待するいくつかの式で使用されると予想されるいくつかの式浮く。コンパイラと静的解析ツールを幸せにしたいので、必要に応じて適切な型にstatic_castします。
constをfloatとして定義してintにキャストするか、intとして定義してfloatにキャストする方が良いですか?それは違いをもたらすのでしょうか、それとももっと個人的な意見ですか?
たとえば、定数がintとfloatとして同じ回数使用されているとします。
、あなたの静的解析ツールを支援していません。 –
floatと定義した場合、intを必要とする各方程式では、intとしてキャストします(逆も同様です)。だから、int型とfloat型の2つの定数を定義し、必要に応じて使用してみませんか?これは他のどの代替手段よりも優れていない場合、同じ性能を確実に与えるでしょう。コードサイズが大きくなるという欠点しかありません。 – Nishant
どちらの方向にも変換に情報が失われることはありません(両方の表現が正確です)。どちらの方向にもキャストは必要ありません。だから、それはまったく問題ではありません。 –