おそらく、この質問に対する唯一の答えは、「開発者がそうしたからです」というものです。
コンピューター サイエンスでは、有限の量しか表現できません。API を設計するとき、何かの最大値または最小値がどうあるべきかという疑問が生じることがあります。この特定のケースでは、 の最大値は のn
ようですUINT_MAX
(unsigned int
関数のオーバーロードがあります)。
おそらく、開発者はユースケースn > UINT_MAX
が非現実的だと考えていたのでしょう。正気の誰もそれを試みないだろうということ。
操作を実行するとn > UINT_MAX
、リソースに負担がかかりすぎた (時間がかかりすぎた、メモリが多すぎた) ためである可能性があります。
おそらく、この種の操作を複数の部分に分割する方法があり、1 つの大きなパスで実行できないことが問題にならないためです。
あるいは、誰かがそれについて考えていなかっただけで、合格する必要性がn > UINT_MAX
本当に存在しているのかもしれません. その場合は、バグ トラッカーに問題を送信していただけると思います。
ほとんどの場合、誰かが「もう十分だ」と考えたからです。いずれにせよ、この質問は本当に答えられません。