for (int i = 0; i < foo + bar; ++i)
{
// do something
}
foo + bar
が巨大であり、その値がループ反復中に変化しないとします。 (すなわち、ループのボディはfoo
またはbar
を変更しません)頻繁に実行される式はその結果をキャッシュに入れますか?
foo + bar
の値はどこかにキャッシュされますか?それとも毎回再評価されるのでしょうか?
C/C++ではJavaなどの上位レベルの言語とは異なりますか?
1位で言語を選びます。この動作は非常に異なる場合があります。 –
よく、私はJavaとC++について言及しました –
'foo + bar'を実際の数で置き換えてみて、どれが一番長く、どのくらいの大きさが実際に違うのかを調べることができます。 – Gendarme