1. ホーム
  2. c++

[解決済み】 unsigned int vs. size_t

2021-12-29 21:14:33

質問

最近のCやC++のコードには size_t の代わりに int / unsigned int Cの文字列関数のパラメータからSTLに至るまで、ほとんどあらゆるところにあります。 この理由と利点について興味があります。

解決方法は?

その size_t の結果である符号なし整数型である。 sizeof 演算子(および offsetof 演算子) を含むので、システムが扱える最大のオブジェクトのサイズ (たとえば 8Gb の静的配列) を含むのに十分な大きさが保証されます。

その size_t の型より大きい、等しい、または小さいかもしれません。 unsigned int そして、コンパイラは最適化のためにそれについて仮定することがあります。

より正確な情報は、C99標準の7.17節に記載されており、そのドラフトはインターネット上で pdf または、C11規格の7.19節に記載されています。 pdfドラフト .