を私はブーストを読んでいたとき:: unordered_mapソースコードを、クラスの定義についてI'wasが混乱し、以下のように:テンプレート引数控除 - 後押し:: unordered_map
template <class K, class T, class H, class P, class A>
class unordered_map
{
public:
typedef K key_type;
typedef std::pair<const K, T> value_type;
typedef T mapped_type;
typedef H hasher;
typedef P key_equal;
typedef A allocator_type;
private:
typedef boost::unordered::detail::map<A, K, T, H, P> types;
typedef typename types::traits allocator_traits;
typedef typename types::table table;
...
private:
table table_;
public:
// constructors
explicit unordered_map(
size_type = boost::unordered::detail::default_bucket_count,
const hasher& = hasher(),
const key_equal& = key_equal(),
const allocator_type& = allocator_type());
...
};
のクラスにはデフォルト値はありませんH、クラスP、クラスAの場合、なぜboost::unordered_map<Key, Value> map
のようなマップインスタンスを宣言できますか? ガイドが見つかりませんでした。誰でも助けてくれますか?詳細な文書/リンクが最適です。
これは定義です。宣言が見つかりましたか? – songyuanyao