C++ STL 実装では、次のコード ブロックをよく見かけます。
size_type max_size() const {
return size_type(-1);
}
size_type が size_t の場合に動作することを理解しています。ここに間接レベルを追加する目的は何ですか? size_t(-1)
つまり、直接使用しないのはなぜmax_size()
ですか?
(size_type(-1)) はプラットフォーム上の最大オブジェクト サイズに評価される必要があるという仕様はありますか?