ไลบรารี C ++ - <bitset>
บทนำ
Bitset แสดงลำดับขนาดคงที่ของNบิตและเก็บค่าเป็น 0 หรือ 1 ศูนย์หมายถึงค่าเป็นเท็จหรือบิตไม่ได้ตั้งค่าและค่าหนึ่งหมายถึงเป็นจริงหรือบิตถูกตั้งค่า คลาส Bitset จำลองอาร์เรย์ของค่าบูลีนที่มีประสิทธิภาพของพื้นที่โดยที่แต่ละองค์ประกอบใช้เพียงหนึ่งบิต
ในขณะที่มัน emulates อาร์เรย์ดัชนียังเริ่มต้นจาก0 THตำแหน่ง แต่ละบิตจากบิตเซ็ตสามารถเข้าถึงได้โดยใช้ตัวดำเนินการตัวห้อย ยกตัวอย่างเช่นในการเข้าถึงองค์ประกอบแรกของ bitset fooใช้foo [0]
คลาส Bitset จัดเตรียมคอนสตรัคเตอร์เพื่อสร้างบิตเซ็ตจากจำนวนเต็มและจากสตริง ขนาดของ bitset ได้รับการแก้ไขที่รวบรวมเวลา STL มีคลาสเวกเตอร์ <bool>ที่ให้ฟังก์ชันการปรับขนาดแบบไดนามิก
คำจำกัดความ
ด้านล่างนี้คือคำจำกัดความของ std :: bitset จากไฟล์ส่วนหัว <bitset>
template <size_t N> class bitset;
พารามิเตอร์
N - ขนาดของบิตเซ็ต
ประเภทสมาชิก
ประเภทสมาชิกต่อไปนี้สามารถใช้เป็นพารามิเตอร์หรือประเภทการส่งคืนโดยฟังก์ชันสมาชิก
ซีเนียร์ | ประเภทสมาชิก | คำจำกัดความ |
---|---|---|
1 | เอกสารอ้างอิง | คลาสพร็อกซีที่แสดงถึงการอ้างอิงถึงบิต |
ฟังก์ชั่นจาก <bitset>
ด้านล่างนี้คือรายการวิธีการทั้งหมดจากส่วนหัว <bitset>
ตัวสร้าง
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | บิตเซ็ต :: บิตเซ็ต () สร้างคอนเทนเนอร์บิตเซ็ตและเริ่มต้นด้วยศูนย์ |
2 | บิตเซ็ต :: บิตเซ็ต () สร้างภาชนะ bitset และเริ่มต้นมันมีค่าบิตของVal |
3 | บิตเซ็ต :: บิตเซ็ต () สร้างและเริ่มต้นคอนเทนเนอร์บิตเซ็ตจากอ็อบเจ็กต์สตริง C ++ |
4 | บิตเซ็ต :: บิตเซ็ต () สร้างและเริ่มต้นคอนเทนเนอร์บิตเซ็ตจากสตริงสไตล์ c |
ชั้นสมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | บิตเซ็ต :: การอ้างอิง () ชั้นนี้จะถูกฝังอยู่ซึ่งมี L-ค่าที่สามารถกลับมาจากมาตรฐาน :: bitset :: ผู้ประกอบการ [] |
ตัวดำเนินการ Bitset
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | bitset :: ตัวดำเนินการ & = ดำเนินการในระดับบิต AND บนอ็อบเจ็กต์บิตเซ็ตปัจจุบัน |
2 | bitset :: ตัวดำเนินการ | = ดำเนินการตามบิตหรือการดำเนินการกับอ็อบเจ็กต์บิตเซ็ตปัจจุบัน |
3 | bitset :: ตัวดำเนินการ ^ = ดำเนินการ XOR แบบบิตบนอ็อบเจ็กต์บิตเซ็ตปัจจุบัน |
4 | bitset :: ตัวดำเนินการ << = ดำเนินการ SHIFT ทางซ้ายแบบบิตบนอ็อบเจ็กต์ bitset ปัจจุบัน |
5 | bitset :: ตัวดำเนินการ >> = ดำเนินการ SHIFT ทางขวาในระดับบิตบนอ็อบเจ็กต์ bitset ปัจจุบัน |
6 | bitset :: ตัวดำเนินการ ~ ดำเนินการในระดับบิต NOT บนบิตเซ็ต |
7 | bitset :: ตัวดำเนินการ << ดำเนินการ SHIFT ด้านซ้ายแบบบิตบนบิตเซ็ต |
8 | bitset :: ตัวดำเนินการ >> ดำเนินการ SHIFT ทางขวาในระดับบิตบนบิตเซ็ต |
9 | บิตเซ็ต :: ตัวดำเนินการ == ทดสอบว่าสองบิตเซ็ตเท่ากันหรือไม่ |
10 | bitset :: ตัวดำเนินการ! = ทดสอบว่าสองบิตเซ็ตเท่ากันหรือไม่ |
11 | bitset :: ตัวดำเนินการ & ดำเนินการในระดับบิต AND บนบิตเซ็ต |
12 | bitset :: ตัวดำเนินการ | ดำเนินการบิตหรือการดำเนินการบนบิตเซ็ต |
13 | bitset :: ตัวดำเนินการ ^ ดำเนินการ XOR แบบบิตบนบิตเซ็ต |
14 | bitset :: ตัวดำเนินการ >> สารสกัดจากไม่เกินNบิตจากเป็นและร้านค้าเข้า bitset อีกx |
15 | bitset :: ตัวดำเนินการ >> แทรก bitset xกระแสตัวละครOS |
ฟังก์ชั่นสมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | บิตเซ็ต :: ทั้งหมด () ทดสอบว่ามีการตั้งค่าบิตทั้งหมดจากบิตเซ็ตหรือไม่ |
2 | บิตเซ็ต :: ใด ๆ () ทดสอบว่ามีการตั้งค่าอย่างน้อยหนึ่งบิตจากบิตเซ็ตหรือไม่ |
3 | บิตเซ็ต :: count () นับจำนวนชุดบิตจากบิตเซ็ต |
4 | bitset :: flip () บิตทั้งหมด สลับบิตทั้งหมดจากบิตเซ็ต |
5 | bitset :: flip () บิตเดียว สลับบิตเดียวจากบิตเซ็ต |
6 | บิตเซ็ต :: ไม่มี () ทดสอบว่าไม่ได้ตั้งค่าบิตทั้งหมดหรือไม่ |
7 | bitset :: operator [] เวอร์ชันบูล ส่งกลับค่าของบิตที่ตำแหน่งPOS |
8 | bitset :: operator [] เวอร์ชันอ้างอิง ผลตอบแทนอ้างอิงของบิตที่ตำแหน่งPOS |
9 | bitset :: reset () บิตทั้งหมด รีเซ็ตบิตเซ็ตทั้งหมดเป็นศูนย์ |
10 | bitset :: reset () บิตเดียว รีเซ็ตบิตเซ็ตบิตเดียวเป็นศูนย์ |
11 | bitset :: set () บิตทั้งหมด ตั้งค่าบิตทั้งหมดจากบิตเซ็ตเป็นหนึ่ง |
12 | bitset :: set () บิตเดียว ชุดบิตเดียวจาก bitset อย่างใดอย่างหนึ่งอย่างใดอย่างหนึ่งหรือเป็นศูนย์ |
13 | บิตเซ็ต :: ขนาด () รายงานขนาดของบิตเซ็ต |
14 | บิตเซ็ต :: ทดสอบ () ทดสอบว่า N th bit ถูกตั้งค่าหรือไม่ |
15 | บิตเซ็ต :: to_string () แปลงวัตถุ bitset เป็นวัตถุสตริง |
16 | บิตเซ็ต :: to_ullong () แปลงบิตเซ็ตเป็น long long ที่ไม่ได้ลงนาม |
17 | บิตเซ็ต :: to_ulong () แปลงบิตเซ็ตเป็นแบบยาวที่ไม่ได้ลงนาม |
ฟังก์ชันที่ไม่ใช่สมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | บิตเซ็ต :: แฮช () ส่งคืนค่าแฮชตามบิตเซ็ตที่ระบุ |