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