私のコードでは、int または unsigned int を使用していません。ポータブルには size_t または ssize_t のみを使用します。例えば:
typedef size_t intc; // (instead of unsigned int)
typedef ssize_t uintc; // (instead of int)
なぜなら・・・全部使うstrlen
ので普段は使ってstring
ます。そして、それがマイナスになる可能性がある場合にのみ使用します。vector
size_t
size_t
ssize_t
しかし、私はそれを見つけます:
符号なし整数型は、ストレージをビット配列として扱う用途に最適です。int の代わりに unsigned を使用して、正の整数を表すビットをもう 1 つ取得することは、ほとんど良い考えではありません。符号なしの変数を宣言することによって一部の値が正であることを保証しようとする試みは、通常、暗黙的な変換規則によって無効になります。
The C++ Programming Languageという本の中で。
だから私は困惑しています。私が間違っている?STL が本の提案に従わないのはなぜですか?