โมฆะ RemoveAt ( ตำแหน่ง ตำแหน่ง );
พารามิเตอร์
ตำแหน่ง
ตำแหน่งขององค์ประกอบถูกเอาออกจากรายการ?
หมายเหตุ
เอาองค์ประกอบที่ระบุจากรายการนี้?
เมื่อคุณลบองค์ประกอบจากการCObListคุณเอาตัวชี้วัตถุจาก list.nbsp เป็นความรับผิดชอบของคุณเพื่อลบวัตถุด้วยตนเอง(&N)?
คุณต้องแน่ใจว่า ค่าของตำแหน่งแทนตำแหน่งที่ถูกต้องในรายการ ถ้าไม่ถูกต้อง แล้วรุ่นตรวจแก้จุดบกพร่องของไลบรารี Microsoft Foundation Class ยืนยัน?
ตัวอย่าง
ใช้ความระมัดระวังเมื่อเอาองค์ประกอบออกในระหว่างการคำนวณซ้ำรายการ ตัวอย่างต่อไปนี้แสดงเอาเทคนิคที่รับประกันค่าตำแหน่งถูกต้องสำหรับGetNext?
รายการ cObList
ตำแหน่ง pos1, pos2
CObject * pa
รายการAddHead (ใหม่กรง (21));
รายการAddHead (ใหม่กรง (40));
รายการAddHead (ใหม่กรง (65)); / / จะประกอบด้วยรายการ (65 40, 21)
สำหรับ (pos1 =รายการGetHeadPosition() (pos2 = pos1) ! = NULL )
{
nbsp ถ้า (*(CAge*) รายการGetNext (pos1) ==กรง (40))
{
pa =รายการGetAt (pos2); / / ตัวชี้เก่าสำหรับบันทึก
/ / ลบ
รายการRemoveAt (pos2);
ลบ pa / / ลบเลี่ยงการรั่วไหลของหน่วยความจำ
}
}
#ifdef _DEBUG
afxDump.SetDepth (1);
afxDump << " RemoveAt ตัวอย่าง: " << & รายการ << "\n"
#endif
ผลลัพธ์ได้จากโปรแกรมนี้มีดังนี้:
ตัวอย่าง RemoveAt: CObList ที่ มีองค์ประกอบที่ 2
nbsp ในกรงที่ $ 4C1E 65
ในกรงที่ $ 4B22 21(&N)
ภาพรวม cObList |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)