これは奇妙な質問かもしれませんが、どのようにして1つの型のすべての値をうまくループしますか?特に、unsigned short
のような標準的な整数型。通常のfor
ループ構成では、すべての値が有効であるため、ループを終了するためにどの条件を使用するのが難しいかがわかります。すべての値をループする
もちろん、ジョブを実行するにはいくつかの方法があります。最後の値を終了し、ループの後でそれを処理します。カウントするにはより大きな整数を使用します。質問は、よりエレガントな方法があるということですか?私は心配
#include <limits>
int i = std::numeric_limits<int>::min();
while(true) {
if(i == std::numeric_limits<int>::max())
break;
...
i++;
};
あなたは何かを強要しようとしているようですね?しかし、これを64ビット整数で試してはいけません。 – Mysticial