ภาษาโปรแกรม C++ ตามช่วงสำหรับลูป เป็นคุณสมบัติที่ค่อนข้างใหม่ซึ่งเปิดตัวครั้งแรกใน C++11 ตามช่วงสำหรับลูป ดำเนินการวนซ้ำในช่วง พวกมันทำงานกับคอนเทนเนอร์ใดๆ ที่มีตัววนซ้ำ รวมถึงอาร์เรย์ เวกเตอร์ แผนที่ ชุด และแม้แต่ประเภทที่ผู้ใช้กำหนดเองซึ่งดำเนินการที่จำเป็น
ไวยากรณ์ของช่วงตามสำหรับลูป
ก ตามช่วงสำหรับลูป มีไวยากรณ์ที่ตรงไปตรงมามาก ประกอบด้วยตัวแปรลูป คอนเทนเนอร์หรือช่วงที่จะวนซ้ำ และเครื่องหมายทวิภาค
สำหรับ ( range_declaration : range_expression ) คำสั่งวนซ้ำ
range_declaration: การประกาศช่วงคือการประกาศตัวแปรประเภทเดียวกันกับอิลิเมนต์ของนิพจน์องค์ประกอบช่วง เพื่อกำหนดประเภทของส่วนประกอบโดยอัตโนมัติในก range_expression คีย์เวิร์ด auto ถูกใช้บ่อย
range_expression: ทุกนิพจน์ที่แสดงถึงรายการองค์ประกอบคือ a range_expression .
คำสั่งวนซ้ำ: เนื้อความของ for loop ประกอบด้วยหนึ่งคำสั่งหรือมากกว่าที่ต้องทำซ้ำจนกว่าจะสิ้นสุด range_expression
วิธีการดำเนินการตามช่วงสำหรับลูป
มีสามวิธีที่สามารถใช้สำหรับ ตามช่วงสำหรับลูป .
วิธีที่ 1: การใช้อาร์เรย์
ตามช่วงสำหรับลูป สามารถเรียกใช้โดยใช้อาร์เรย์เช่นนี้
#รวมถึงใช้เนมสเปซ std;
int หลัก ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
สำหรับ ( int n : numArray ) {
ศาล << น << ' ' ;
}
กลับ 0 ;
}
ในโค้ดข้างต้น อาร์เรย์จำนวนเต็มที่เรียกว่า numArray ถูกเตรียมใช้งาน จากนั้นจึงพิมพ์องค์ประกอบของ numArray โดยใช้ a ตามช่วงสำหรับลูป .
เอาต์พุต
วิธีที่ 2: การใช้เวกเตอร์
ตามช่วงสำหรับลูป สามารถเรียกใช้โดยใช้เวกเตอร์เช่นนี้
#รวมถึง#รวม <เวกเตอร์>
ใช้เนมสเปซ std;
int หลัก ( )
{
int x;
เวกเตอร์ < นานาชาติ > ใน = { 1 , 2 , 3 , 4 , 5 } ;
สำหรับ ( int x : v )
{
ศาล << x << ' ' ;
}
กลับ 0 ;
}
ในโค้ดข้างต้น เวกเตอร์เรียกว่า ใน ถูกเริ่มต้น ที่นี่ องค์ประกอบของเวกเตอร์ v ถูกพิมพ์โดยใช้ a ตามช่วงสำหรับลูป
เอาต์พุต
วิธีที่ 3: ประกาศคอลเลกชันภายในลูป
ตามช่วงสำหรับลูป สามารถประกาศภายในลูปได้เช่นกัน มันทำงานคล้ายกับอาร์เรย์หรือเวกเตอร์จริง
#รวมถึงใช้เนมสเปซ std;
int หลัก ( ) {
สำหรับ ( intn: { 5 , 10 , สิบห้า , ยี่สิบ , 25 } ) {
ศาล << น << ' ' ;
}
กลับ 0 ;
}
ในโค้ดข้างต้น คอลเลกชั่นจะถูกประกาศภายในลูปแล้วพิมพ์ออกมา
เอาต์พุต
ข้อดีและข้อเสียของช่วงตามลูป
ตามช่วงสำหรับลูป มีคุณประโยชน์มากกว่าแบบเดิมๆ สำหรับ วนซ้ำได้หลายวิธี โดยเฉพาะอย่างยิ่งเมื่อทำงานกับคอนเทนเนอร์ เนื่องจากมีการกำหนดตัวแปรลูปภายในลูปและมีการระบุช่วงอย่างชัดเจน ทำให้โค้ดสั้นลงและเข้าใจง่ายขึ้นมาก นอกจากนี้ยังปลอดภัยกว่า เนื่องจากไม่ต้องกังวลเกี่ยวกับข้อผิดพลาดแบบแยกส่วนหรือข้อผิดพลาดในการจัดทำดัชนีอื่นๆ สามารถปรับเปลี่ยนได้มากกว่าเนื่องจากสามารถใช้คอนเทนเนอร์ใดก็ได้ โดยไม่คำนึงถึงประเภทหรือขนาด เดอะ ตามช่วงสำหรับลูป มีประโยชน์หลายอย่าง หนึ่งในนั้นคือทำให้โค้ดของเราสะอาดขึ้นและเข้าใจง่ายขึ้น
ตามช่วงสำหรับลูป แม้ว่าจะมีข้อจำกัดบางประการ เนื่องจากตัวแปรลูปเป็นการคัดลอกหรืออ้างอิงถึงองค์ประกอบแทนที่จะเป็นองค์ประกอบจริง จึงไม่สามารถใช้เพื่อแก้ไของค์ประกอบของคอนเทนเนอร์ได้ เนื่องจากช่วงเต็มมีการวนซ้ำอย่างต่อเนื่อง เราจึงไม่สามารถข้ามองค์ประกอบใดๆ หรือวนซ้ำข้อมูลเพียงบางส่วนได้
บทสรุป
ตามช่วงสำหรับลูป เป็นคุณสมบัติที่ทรงพลังและหลากหลายของภาษาโปรแกรม C++ เมื่อเปรียบเทียบกับการวนซ้ำแบบเดิม พวกมันให้ความปลอดภัยและความยืดหยุ่นที่เพิ่มขึ้นพร้อมกับแนวทางที่ชัดเจนและอ่านง่ายในการวนซ้ำผ่านคอนเทนเนอร์และลดรหัส ตามช่วงสำหรับลูป เป็นสิ่งที่ต้องเรียนรู้สำหรับโปรแกรมเมอร์ C++