อาร์เรย์ รายการ และแผนผังชั้น

สำหรับผลของข้อมูล การรีคลาสให้กลุ่มของคอลเลกชันชั้น — อาร์ เรย์ รายการ และ "แผนที่" — ที่สามารถค้างไว้หลากหลายชนิดที่กำหนดไว้ล่วงหน้าและวัตถุได้ คอลเลกชันที่มีขนาดแบบไดนามิก เรียนเหล่านี้สามารถใช้ในโปรแกรมใด ๆ ว่าที่เขียนขึ้นสำหรับ Windows หรือไม่ อย่างไรก็ตาม เหล่านั้นมีประโยชน์มากที่สุดสำหรับการใช้โครงสร้างข้อมูลที่กำหนดประเภทของเอกสารในโปรแกรมประยุกต์ framework สืบทอดคุณสามารถพร้อมมาเรียนคอลเลกชันพิเศษจากเหล่านี้ หรือคุณสามารถสร้างขึ้นตามแม่แบบคลาสที่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีเหล่านี้ ให้ดูบทความ คอลเลกชันในVisual c ++ Programmer ของคู่มือและแม่แบบเรียนสำหรับอาร์เรย์ รายการ และแผนที่ในภาพรวมนี้สำหรับรายการของคลาสที่คอลเลกชันของแม่แบบ?

อาร์เรย์คือ โครงสร้างข้อมูล one-dimensional ที่เก็บ contiguously ในหน่วยความจำ พวกเขาสนับสนุนการเข้าถึงแบบสุ่มมากอย่างรวดเร็วเนื่องจากสามารถคำนวณได้ โดยการคูณดัชนีขององค์ประกอบ ด้วยขนาดขององค์ประกอบ และการเพิ่มผลลัพธ์อยู่พื้นฐานของอาร์เรย์อยู่หน่วยความจำขององค์ประกอบใด ๆ ที่กำหนดให้ แต่อาร์เรย์จะแพงมากถ้าคุณต้องการแทรกองค์ประกอบลงในอาร์เรย์ เนื่องจากอาร์เรย์ทั้งอดีต แทรกองค์ประกอบมีการเคลื่อนย้ายเพื่อให้มีที่ว่างสำหรับองค์ประกอบจะแทรก อาร์เรย์สามารถเติบโต และลดขนาดตามความจำเป็น?

รายการที่คล้ายกับอาร์เรย์ แต่จะถูกเก็บไว้แตกต่างกันมาก นอกจากนี้แต่ละองค์ประกอบในรายการยังมีตัวชี้ไปยังองค์ก่อนหน้า และถัดไปประกอบ ทำหน้าที่เชื่อมโยงรายการ ได้รวดเร็วมากในการเพิ่ม หรือลบรายการได้เนื่องจากเกี่ยวข้องทำเช่นนั้นเท่ากับการเปลี่ยนแปลงบางตัวชี้ อย่างไรก็ตาม ค้นหารายการสามารถแพงเนื่องจากการค้นหาทั้งหมดต้องเริ่มต้นเวลาสิ้นสุดของรายการอย่างใดอย่างหนึ่ง?

แผนที่เชื่อมโยงค่าคีย์ข้อมูลค่า ตัวอย่าง การคีย์ของแผนที่อาจเป็นสตริและข้อมูลเป็นตัวชี้ไปยังรายการ คุณต้องถามแผนที่ให้ชี้ที่เชื่อมโยงกับสายอักขระเฉพาะ ค้นหาแผนที่ได้อย่างรวดเร็วเนื่องจากแผนที่ใช้แฮตารางสำหรับการค้นหาของคีย์ เพิ่ม และลบรายการจะรวดเร็ว แผนที่มักใช้กับโครงสร้างข้อมูลอื่น ๆ เป็นดัชนีสอื่น ๆ MFC ใช้แผนที่ที่เรียกว่าเป็นชนิดพิเศษ " การแมปข้อความ" ในการแมปข้อความ Windows ตัวชี้ไปยังตัวจัดการฟังก์ชันสำหรับข้อความ?

Index