ขนาดของเวกเตอร์สามารถลดลงได้โดยใช้ฟังก์ชันต่างๆ ในตัวของ C++ ฟังก์ชัน pop_back() ก็เป็นหนึ่งในนั้น ใช้เพื่อลบองค์ประกอบสุดท้ายของเวกเตอร์ออกจากด้านหลัง และลดขนาดของเวกเตอร์ลง 1 แต่องค์ประกอบสุดท้ายของเวกเตอร์จะไม่ถูกลบอย่างถาวรเหมือนกับฟังก์ชันลบ () มีการอธิบายการใช้งานต่างๆ ของฟังก์ชันนี้ไว้ในบทช่วยสอนนี้
ไวยากรณ์:
เวกเตอร์ :: pop_back ( ) ;ฟังก์ชันนี้ไม่มีอาร์กิวเมนต์ใดๆ และจะไม่ส่งคืนสิ่งใดเลย
ข้อกำหนดเบื้องต้น:
ก่อนที่จะตรวจสอบตัวอย่างของบทช่วยสอนนี้ คุณต้องตรวจสอบว่ามีการติดตั้งคอมไพเลอร์ g++ อยู่ในระบบหรือไม่ หากคุณใช้ Visual Studio Code ให้ติดตั้งส่วนขยายที่จำเป็นเพื่อคอมไพล์ซอร์สโค้ด C++ เพื่อสร้างโค้ดที่ปฏิบัติการได้ ที่นี่ มีการใช้แอปพลิเคชัน Visual Studio Code เพื่อคอมไพล์และรันโค้ด C++ วิธีลดขนาดของเวกเตอร์โดยใช้ฟังก์ชัน pop_back() ได้แสดงไว้ในส่วนถัดไปของบทช่วยสอนนี้
ตัวอย่างที่ 1: ลบองค์ประกอบหลายรายการออกจากเวกเตอร์
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อลบสององค์ประกอบออกจากคอนเทนเนอร์เวกเตอร์โดยการลดขนาดของเวกเตอร์โดยใช้ฟังก์ชัน pop_back() มีการประกาศเวกเตอร์ของค่าสตริง 5 ค่าในโค้ด ฟังก์ชัน pop_back() ถูกเรียกสองครั้งที่นี่เพื่อลบองค์ประกอบสุดท้ายสองตัวออกจากเวกเตอร์ชั่วคราว และลดขนาดของเวกเตอร์ลง 2 เนื้อหาของเวกเตอร์ถูกพิมพ์สองครั้งก่อนและหลังการใช้ฟังก์ชัน pop_back()
//รวมไลบรารีที่จำเป็น
#รวม
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
ภายใน หลัก ( ) {
//ประกาศเวกเตอร์ของค่าสตริง
เวกเตอร์ < เชือก > ดอกไม้ = { 'ดอกกุหลาบ' , “ลิตี้” , 'ดาวเรือง' , 'ทิวลิป' , 'สิงโตน้ำ' } ;
ศาล << “ค่าของเวกเตอร์ : \n ' ;
//วนซ้ำเวกเตอร์โดยใช้ลูปเพื่อพิมพ์ค่า
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < ดอกไม้. ขนาด ( ) ; ++ ฉัน )
ศาล << ดอกไม้ [ ฉัน ] << ' ' ;
ศาล << ' \n ' ;
//ลบสองค่าสุดท้ายออกจากเวกเตอร์
ดอกไม้. pop_back ( ) ;
ดอกไม้. pop_back ( ) ;
ศาล << ' \n ค่าของเวกเตอร์หลังจากลบ : \n ' ;
//วนซ้ำเวกเตอร์โดยใช้ลูปเพื่อพิมพ์ค่า
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < ดอกไม้. ขนาด ( ) ; ++ ฉัน )
ศาล << ดอกไม้ [ ฉัน ] << ' ' ;
ศาล << ' \n ' ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน
ตัวอย่าง-2: สร้างเวกเตอร์ใหม่จากเวกเตอร์อื่น
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อแทรกค่าเฉพาะลงในเวกเตอร์ว่างจากเวกเตอร์อื่นโดยลบองค์ประกอบออกโดยใช้ฟังก์ชัน pop_back() มีการประกาศเวกเตอร์จำนวนเต็ม 8 จำนวนและเวกเตอร์ว่างประเภทจำนวนเต็มในโค้ด มีการใช้การวนซ้ำ 'ในขณะที่' เพื่อวนซ้ำแต่ละองค์ประกอบของเวกเตอร์แรก และแทรกองค์ประกอบลงในเวกเตอร์ใหม่หากตัวเลขหารด้วย 2 ลงตัว นอกจากนี้ ยังมีการคำนวณผลรวมของเลขคู่ทั้งหมดที่นี่ด้วย แต่ละองค์ประกอบของเวกเตอร์แรกจะถูกลบออกโดยฟังก์ชัน pop_back() ในการวนซ้ำแต่ละครั้งของลูปเพื่อให้บรรลุเงื่อนไขการสิ้นสุดของลูป
//รวมไลบรารีที่จำเป็น
#รวม
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
ภายใน หลัก ( )
{
//ประกาศเวกเตอร์ของข้อมูลจำนวนเต็ม
เวกเตอร์ < ภายใน > intVector { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//ประกาศเวกเตอร์ว่าง
เวกเตอร์ < ภายใน > ใหม่เวกเตอร์ ;
ศาล << “ค่าของเวกเตอร์ดั้งเดิม: \n ' ;
//วนซ้ำเวกเตอร์โดยใช้ลูปเพื่อพิมพ์ค่า
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < intVector. ขนาด ( ) ; ++ ฉัน )
ศาล << intVector [ ฉัน ] << ' ' ;
ศาล << ' \n ' ;
//เริ่มต้นผลลัพธ์
ภายใน ผลลัพธ์ = 0 ;
//วนซ้ำจนกว่าเวกเตอร์จะว่างเปล่า
ในขณะที่ ( ! intVector. ว่างเปล่า ( ) )
{
/*
ค้นหาเลขคู่ที่จะแทรกลงใน newVector
และคำนวณผลรวมของเลขคู่
*/
ถ้า ( intVector. กลับ ( ) % 2 == 0 )
{
ผลลัพธ์ + = intVector. กลับ ( ) ;
ใหม่เวกเตอร์ ผลักดัน_กลับ ( intVector. กลับ ( ) ) ;
}
//ลบองค์ประกอบออกจากส่วนท้ายของ intVactor
intVector. pop_back ( ) ;
}
ศาล << “ค่าของเวกเตอร์ใหม่ : \n ' ;
//วนซ้ำเวกเตอร์โดยใช้ลูปเพื่อพิมพ์ค่า
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < ใหม่เวกเตอร์ ขนาด ( ) ; ++ ฉัน )
ศาล << ใหม่เวกเตอร์ [ ฉัน ] << ' ' ;
ศาล << ' \n ' ;
ศาล << 'ผลรวมของเลขคู่ทั้งหมด : ' << ผลลัพธ์ << ' \n ' ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน เวกเตอร์แรกมีเลขคู่สามตัว มี 8, 2 และ 4
ตัวอย่างที่ 3: ตรวจสอบว่าองค์ประกอบสุดท้ายของเวกเตอร์ถูกลบออกหรือไม่
ได้มีการกล่าวไว้ก่อนหน้านี้ว่า pop_back() ไม่ได้ลบองค์ประกอบออกจากเวกเตอร์อย่างถาวร และจะลบองค์ประกอบโดยการลดขนาดของเวกเตอร์เท่านั้น ดังนั้นองค์ประกอบที่ถูกลบออกจะยังคงอยู่ในตำแหน่งเดิมจนกว่าขนาดของเวกเตอร์จะเพิ่มขึ้นและแทนที่องค์ประกอบนั้นด้วยองค์ประกอบอื่น สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อตรวจสอบว่ามีองค์ประกอบที่ถูกลบโดยฟังก์ชัน pop_back() หรือไม่ ตำแหน่งสุดท้ายของเวกเตอร์ต้นฉบับถูกพิมพ์ก่อนและหลังการใช้ฟังก์ชัน pop_back()
#รวม#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
ภายใน หลัก ( )
{
//ประกาศเวกเตอร์ของข้อมูลจำนวนเต็ม
เวกเตอร์ < ภายใน > intVector { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//ประกาศเวกเตอร์ว่าง
เวกเตอร์ < ภายใน > ใหม่เวกเตอร์ ;
//ประกาศตัวแปรจำนวนเต็ม
ภายใน ความยาว ;
//พิมพ์องค์ประกอบสุดท้ายตามขนาดของเวกเตอร์
ความยาว = intVector. ขนาด ( ) ;
ศาล << 'ขนาดปัจจุบันของเวกเตอร์:' << ความยาว << ' \n ' ;
ศาล << 'ค่าสุดท้ายของเวกเตอร์ก่อนที่จะลบ:' << intVector [ ความยาว - - 1 ] << ' \n ' ;
//ลบองค์ประกอบออกจากจุดสิ้นสุดของเวกเตอร์
intVector. pop_back ( ) ;
//พิมพ์องค์ประกอบสุดท้ายตามขนาดของเวกเตอร์หลังจากลบออก
ความยาว = intVector. ขนาด ( ) ;
ศาล << 'ขนาดปัจจุบันของเวกเตอร์:' << ความยาว << ' \n ' ;
ศาล << 'ค่าสุดท้ายของเวกเตอร์หลังลบ:' << intVector [ ความยาว ] << ' \n ' ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ผลลัพธ์แสดงให้เห็นว่าขนาดของเวกเตอร์ลดลง 1 แต่องค์ประกอบของตำแหน่งสุดท้ายของเวกเตอร์ดั้งเดิมยังคงมีอยู่
บทสรุป:
มีการอธิบายการใช้งานฟังก์ชัน pop_back() ที่แตกต่างกันสามแบบในบทช่วยสอนนี้โดยใช้ตัวอย่างง่ายๆ ผู้อ่านจะเข้าใจวัตถุประสงค์หลักของการใช้ฟังก์ชันนี้หลังจากฝึกฝนตัวอย่างบทช่วยสอนนี้แล้ว