ไลบรารี C ++ - <array>
บทนำ
อาร์เรย์เป็นคอนเทนเนอร์ลำดับที่มีขนาดคงที่ คอนเทนเนอร์คือวัตถุที่เก็บข้อมูลประเภทเดียวกัน ลำดับคอนเทนเนอร์จัดเก็บองค์ประกอบตามลำดับเชิงเส้นอย่างเคร่งครัด
คลาสคอนเทนเนอร์ใช้ตัวสร้างโดยนัยเพื่อจัดสรรหน่วยความจำที่ต้องการแบบคงที่ หน่วยความจำถูกจัดสรรในเวลาคอมไพล์ดังนั้นขนาดอาร์เรย์จึงไม่สามารถย่อหรือขยายได้เมื่อรันไทม์ องค์ประกอบทั้งหมดภายในอาร์เรย์ตั้งอยู่ที่ตำแหน่งหน่วยความจำที่อยู่ติดกัน
คำจำกัดความ
ด้านล่างนี้คือคำจำกัดความของ std :: array จากไฟล์ส่วนหัว <array>
template < class T, size_t N >
class array;
พารามิเตอร์
T - ประเภทขององค์ประกอบที่มีอยู่
T อาจถูกแทนที่ด้วยประเภทข้อมูลอื่น ๆ รวมถึงประเภทที่ผู้ใช้กำหนด
N - ขนาดของอาร์เรย์
อาร์เรย์ขนาดศูนย์ก็ใช้ได้เช่นกัน ในกรณีนั้น array.begin () และ array.end () ชี้ไปที่ตำแหน่งเดียวกัน แต่พฤติกรรมของการเรียก front () หรือ back () นั้นไม่ได้กำหนดไว้
ประเภทสมาชิก
ประเภทสมาชิกต่อไปนี้สามารถใช้เป็นพารามิเตอร์หรือประเภทการส่งคืนโดยฟังก์ชันสมาชิก
ซีเนียร์ | ประเภทสมาชิก | คำจำกัดความ |
---|---|---|
1 | value_type | T (พารามิเตอร์แรกของเทมเพลต) |
2 | เอกสารอ้างอิง | value_type & |
3 | const_reference | const value_type & |
4 | ตัวชี้ | value_type * |
5 | const_pointer | const value_type * |
6 | iterator | ตัววนซ้ำการเข้าถึงโดยสุ่มไปยัง value_type |
7 | const_iterator | ตัววนซ้ำการเข้าถึงโดยสุ่มไปยัง const value_type |
8 | reverse_iterator | std :: reverse_iterator <iterator> |
9 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
10 | size_type | size_t |
11 | different_type | ptrdiff_t |
ฟังก์ชั่นจาก <array>
ด้านล่างนี้คือรายการวิธีการทั้งหมดจากส่วนหัว <array>
ฟังก์ชั่นสมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | อาร์เรย์ :: ที่ ส่งคืนการอ้างอิงไปยังองค์ประกอบที่อยู่ในตำแหน่ง N ในคอนเทนเนอร์อาร์เรย์ที่กำหนด |
2 | อาร์เรย์ :: กลับ ส่งคืนการอ้างอิงถึงองค์ประกอบสุดท้ายของคอนเทนเนอร์อาร์เรย์ |
3 | อาร์เรย์ :: เริ่มต้น ส่งคืนตัววนซ้ำซึ่งชี้ไปที่จุดเริ่มต้นของอาร์เรย์ |
4 | อาร์เรย์ :: cbegin ส่งคืนตัววนซ้ำคงที่ซึ่งชี้ไปที่จุดเริ่มต้นของอาร์เรย์ |
5 | อาร์เรย์ :: cend ส่งคืนตัววนซ้ำค่าคงที่ซึ่งชี้ไปยังองค์ประกอบที่ผ่านมาของอาร์เรย์ |
6 | อาร์เรย์ :: crbegin ส่งคืนตัววนซ้ำแบบย้อนกลับค่าคงที่ที่ชี้ไปยังองค์ประกอบสุดท้ายของอาร์เรย์ |
7 | อาร์เรย์ :: crend ส่งคืนตัววนซ้ำแบบย้อนกลับคงที่ซึ่งชี้ไปที่จุดสิ้นสุดที่ผ่านมา |
8 | อาร์เรย์ :: ข้อมูล ส่งกลับตัวชี้ที่ชี้ไปยังองค์ประกอบแรกของคอนเทนเนอร์อาร์เรย์ |
9 | อาร์เรย์ :: ว่าง ทดสอบว่าขนาดของอาร์เรย์เป็นศูนย์หรือไม่ |
10 | อาร์เรย์ :: สิ้นสุด ส่งคืนตัววนซ้ำซึ่งชี้ไปยังองค์ประกอบที่ผ่านมาของอาร์เรย์ |
11 | อาร์เรย์ :: เติม ตั้งค่าที่กำหนดให้กับองค์ประกอบทั้งหมดของอาร์เรย์ |
12 | อาร์เรย์ :: ด้านหน้า ส่งคืนการอ้างอิงถึงองค์ประกอบแรกของคอนเทนเนอร์อาร์เรย์ |
13 | อาร์เรย์ :: max_size ส่งคืนจำนวนองค์ประกอบสูงสุดที่คอนเทนเนอร์อาร์เรย์สามารถถือครองได้ |
14 | อาร์เรย์ :: ตัวดำเนินการ [] ส่งกลับการอ้างอิงไปยังองค์ประกอบที่อยู่ในตำแหน่ง N ในคอนเทนเนอร์อาร์เรย์ที่กำหนด |
15 | อาร์เรย์ :: rbegin ส่งคืนตัววนซ้ำย้อนกลับที่ชี้ไปยังองค์ประกอบสุดท้ายของอาร์เรย์ |
16 | อาร์เรย์ :: rend ส่งคืนตัววนซ้ำแบบย้อนกลับซึ่งชี้ไปยังองค์ประกอบทางทฤษฎีที่อยู่ก่อนองค์ประกอบแรกของอาร์เรย์ |
17 | อาร์เรย์ :: ขนาด ส่งคืนจำนวนองค์ประกอบที่มีอยู่ในอาร์เรย์ |
18 | อาร์เรย์ :: แลกเปลี่ยน สลับเนื้อหาของอาร์เรย์ทั้งสอง |
ฟังก์ชันที่ไม่มีสมาชิกมากเกินไป
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | รับ (อาร์เรย์) ผลตอบแทนอ้างอิงกับฉันTHองค์ประกอบของภาชนะอาร์เรย์ |
2 | ตัวดำเนินการบูล == ทดสอบว่าสองคอนเทนเนอร์เหมือนกันหรือไม่ |
3 | ตัวดำเนินการบูล! = ทดสอบว่าสองคอนเทนเนอร์เหมือนกันหรือไม่ |
4 | ตัวดำเนินการบูล < ทดสอบว่าคอนเทนเนอร์อาร์เรย์แรกมีค่าน้อยกว่าวินาทีหรือไม่ |
5 | ตัวดำเนินการบูล <= ทดสอบว่าคอนเทนเนอร์อาร์เรย์แรกน้อยกว่าหรือเท่ากับวินาทีหรือไม่ |
6 | ตัวดำเนินการบูล> ทดสอบว่าคอนเทนเนอร์อาร์เรย์แรกมีค่ามากกว่าวินาทีหรือไม่ |
7 | ตัวดำเนินการบูล> = ทดสอบว่าคอนเทนเนอร์อาร์เรย์แรกมีค่ามากกว่าหรือเท่ากับวินาทีหรือไม่ |
ฟังก์ชัน specilization ที่ไม่ใช่สมาชิก
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | tuple_element (อาร์เรย์) จัดเตรียมการเข้าถึงดัชนีประเภทคอมไพล์สำหรับประเภทขององค์ประกอบของอาร์เรย์โดยใช้อินเตอร์เฟสแบบทูเพิล |
2 | tuple_size (อาร์เรย์) ส่งคืนจำนวนองค์ประกอบทั้งหมดที่มีอยู่ในคอนเทนเนอร์ |