ไลบรารี C ++ - <unordered_set>
บทนำ
เป็นคอนเทนเนอร์แบบเชื่อมโยงที่จัดเก็บองค์ประกอบที่ไม่ซ้ำกันโดยไม่มีลำดับที่เฉพาะเจาะจงและช่วยให้สามารถเรียกใช้องค์ประกอบแต่ละรายการได้อย่างรวดเร็วตามมูลค่าของมัน
คำจำกัดความ
ด้านล่างนี้คือคำจำกัดความของ std :: unordered_set
template < class Key,
class Hash = hash<Key>,
class Pred = equal_to<Key>,
class Alloc = allocator<Key>
> class unordered_set;
พารามิเตอร์
Key - กำหนดประเภทขององค์ประกอบ
Hash - เป็นอ็อบเจ็กต์ฟังก์ชันยูนารี
Pred - เป็นเพรดิเคตไบนารีที่รับอาร์กิวเมนต์ประเภทเดียวกันสองตัวเป็นองค์ประกอบและส่งคืนบูล
Alloc - กำหนดประเภทของ allowcater
ประเภทสมาชิก
ประเภทสมาชิกต่อไปนี้สามารถใช้เป็นพารามิเตอร์หรือประเภทการส่งคืนโดยฟังก์ชันสมาชิก
ประเภทสมาชิก | นิยาม | หมายเหตุ |
---|---|---|
key_type | เป็นพารามิเตอร์เทมเพลตแรก ( Key ) | |
value_type | เป็นพารามิเตอร์เทมเพลตแรก ( Key ) | เช่นเดียวกับkey_type |
แฮช | เป็นพารามิเตอร์เทมเพลตที่สอง ( Hash ) | ค่าเริ่มต้นเป็น: hash <key_type> |
key_equal | เป็นพารามิเตอร์เทมเพลตที่สาม ( Pred ) | ค่าเริ่มต้นเป็น: equal_to <key_type> |
จัดสรร _type | เป็นพารามิเตอร์เทมเพลตที่สี่ ( Alloc ) | ค่าเริ่มต้นเป็น: ผู้จัดสรร <value_type> |
เอกสารอ้างอิง | Alloc :: ข้อมูลอ้างอิง | |
const_reference | Alloc :: const_reference | |
ตัวชี้ | Alloc :: ตัวชี้ | สำหรับตัวจัดสรรเริ่มต้น: value_type * |
const_pointer | Alloc :: const_pointer | สำหรับตัวจัดสรรเริ่มต้น: const value_type * |
iterator | ตัวทำซ้ำไปข้างหน้าเป็นconst value_type | * แปลงเป็นconst_iterator |
const_iterator | ตัวทำซ้ำไปข้างหน้าเป็นconst value_type | * |
local_iterator | ตัวทำซ้ำไปข้างหน้าเป็นconst value_type | * แปลงเป็นconst_local_iterator |
const_local_iterator | ตัวทำซ้ำไปข้างหน้าเป็นconst value_type | * |
size_type | ประเภทอินทิกรัลที่ไม่ได้ลงชื่อ | มักจะเหมือนกับ size_t |
different_type | ประเภทอินทิกรัลที่ลงนาม | มักจะเหมือนกับ ptrdiff_t |
ฟังก์ชั่นสมาชิก
ด้านล่างนี้คือรายการฟังก์ชันของสมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | (ตัวสร้าง) มันสร้าง unordered_set |
2 | (ผู้ทำลาย) มันทำลาย unordered_set |
3 | ตัวดำเนินการ = ใช้เพื่อกำหนดเนื้อหา |
ความจุ
ซีเนียร์ | ความจุและคำอธิบาย |
---|---|
1 | ว่างเปล่า ใช้เพื่อทดสอบว่าคอนเทนเนอร์ว่างเปล่า |
2 | ขนาด ส่งคืนขนาดคอนเทนเนอร์ |
3 | max_size ส่งคืนขนาดสูงสุด |
ตัวทำซ้ำ
ซีเนียร์ | ตัวทำซ้ำและคำอธิบาย |
---|---|
1 | เริ่ม มันส่งคืนตัววนซ้ำเพื่อเริ่มต้น |
2 | จบ มันส่งคืน iterator เพื่อสิ้นสุด |
3 | cbegin จะคืนค่า const_iterator เป็นจุดเริ่มต้น |
4 | cend มันส่งคืน const_iterator เพื่อสิ้นสุด |
การค้นหาองค์ประกอบ
ซีเนียร์ | การค้นหาองค์ประกอบและคำอธิบาย |
---|---|
1 | หา ใช้เพื่อรับตัววนซ้ำไปยังองค์ประกอบ |
2 | นับ ใช้เพื่อนับองค์ประกอบด้วยคีย์เฉพาะ |
3 | ช่วงที่เท่ากัน ใช้เพื่อรับช่วงขององค์ประกอบที่มีคีย์เฉพาะ |
ตัวปรับเปลี่ยน
ซีเนียร์ | ตัวดัดแปลงและคำอธิบาย |
---|---|
1 | emplace ใช้ในการสร้างและแทรกองค์ประกอบ |
2 | emplace_hint ใช้เพื่อสร้างและแทรกองค์ประกอบพร้อมคำใบ้ |
3 | แทรก ใช้เพื่อแทรกองค์ประกอบ |
4 | ลบ ใช้เพื่อลบองค์ประกอบ |
5 | ชัดเจน ใช้เพื่อล้างเนื้อหา |
6 | แลกเปลี่ยน ใช้เพื่อสลับเนื้อหา |
ถัง
ซีเนียร์ | ถังและคำอธิบาย |
---|---|
1 | bucket_count ส่งคืนจำนวนที่เก็บข้อมูล |
2 | max_bucket_count ส่งคืนจำนวนสูงสุดของที่เก็บข้อมูล |
3 | bucket_size ส่งคืนขนาดถัง |
4 | ถัง ค้นหาที่เก็บข้อมูลขององค์ประกอบ |
นโยบายแฮช
ซีเนียร์ | นโยบายแฮชและคำอธิบาย |
---|---|
1 | load_factor ส่งคืนปัจจัยการโหลด |
2 | max_load_factor ใช้เพื่อรับหรือตั้งค่าปัจจัยโหลดสูงสุด |
3 | rehash ใช้เพื่อกำหนดจำนวนที่เก็บข้อมูล |
4 | สำรอง มันให้คำขอเพื่อความจุของ backets |
ผู้สังเกตการณ์
ซีเนียร์ | ผู้สังเกตการณ์และคำอธิบาย |
---|---|
1 | hash_function ใช้เพื่อรับฟังก์ชันแฮช |
2 | key_eq ใช้เพื่อรับเพรดิเคตการเทียบเท่าคีย์ |
3 | get_allocator ใช้เพื่อรับตัวจัดสรร |
ซีเนียร์ | ฟังก์ชั่นที่ไม่ใช่สมาชิกเกินพิกัดและคำอธิบาย |
---|---|
1 | ตัวดำเนินการ (unordered_set) ใช้เพื่อรับฟังก์ชันแฮช |
2 | แลกเปลี่ยน (unordered_set) มันแลกเปลี่ยนเนื้อหาของคอนเทนเนอร์ unordered_set สองอัน |
ตัวทำซ้ำที่กำหนดไว้ล่วงหน้า
ซีเนียร์ | ฟังก์ชั่นที่ไม่ใช่สมาชิกเกินพิกัดและคำอธิบาย |
---|---|
1 | ตัวดำเนินการ (unordered_set) ใช้เพื่อรับฟังก์ชันแฮช |
2 | แลกเปลี่ยน (unordered_set) มันแลกเปลี่ยนเนื้อหาของคอนเทนเนอร์ unordered_set สองอัน |