1. ホーム
  2. c++

[解決済み] size_t' と 'container::size_type' の比較

2022-08-25 13:36:24

質問

の違いは何ですか? size_tcontainer::size_type ?

私が理解しているのは size_t はより汎用的で、あらゆる size_type s.

しかし、それは container::size_type は特定の種類のコンテナに対して最適化されているのでしょうか?

どのように解決するのですか?

標準のコンテナでは size_type をtypedefとして定義しています。 Allocator::size_type (Allocator はテンプレートパラメータです)。 std::allocator<T>::size_type 通常 と定義されています。 size_t (または互換性のある型)です。ですから、標準的な場合、それらは同じです。

しかし、もしあなたがカスタムアロケータを使うなら、異なる基礎となる型が使われるかもしれません。そのため container::size_type が望ましいです。