Float_64
およびFloat_32
C++ 標準で定義されている C++ 型ではないため、アプリケーションまたは使用しているライブラリに固有のものでなければなりません。
ただし、名前がリモートで正常な場合、a のサイズはFloat_64
64 ビット (最新のアーキテクチャでは 8 バイト) になり、aFloat_32
は 32 ビットになります。したがって、Float_32
の代わりにを使用するように切り替えるFloat_64
と、float 自体のメモリ負荷が半分に軽減されます。さて、値へのポインタは言うまでもなく、以前と同じサイズのままです。したがって、次のことを考慮してください。
Float_64 my64;
Float_32 my32;
Float_64 * my64_ptr = &my64;
Float_32 * my32_ptr = &my32;
上記のコードでは、 asmy64
の半分です-- それぞれ 64 ビットと 32 ビット (8 バイトと 4 バイト)。ただし、とはポインターであり、ポインターは何を指すかに関係なく同じサイズです。sizeof()
my32
my64_ptr
my32_ptr
反響は別の考慮事項です。AFloat_32
は、おそらく a よりも精度が低く、Float_64
おそらく半分かそれ以下です。非常に重要度の高い float が必要な場合は、小さい型に変換すると精度が低下する可能性があります。確実に知る唯一の方法は、両方の型の仕様を調べ、操作する必要があるデータを分析することです。ただし、一般的な経験則として、ほとんどの用途では低い精度で十分な可能性があります。