Mojo Academy · บทเรียน

การเป็นเจ้าของบัฟเฟอร์บนฮีป

จัดสรรและคืนหน่วยความจำที่คุณควบคุม

บทเรียน 3 จาก 413 ขั้นตอน

การเป็นเจ้าของบัฟเฟอร์บนฮีป เป็นบทเรียน Mojo Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Mojo Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน

ควบคุมด้วยตนเอง

บางครั้งคุณต้องการควบคุมบล็อกหน่วยความจำบน heap โดยตรง การเป็นเจ้าของ บัฟเฟอร์หมายความว่าคุณเป็นผู้จัดสรรและตัดสินใจว่าจะคืนหน่วยความจำเมื่อใด 🛠️

บัฟเฟอร์คืออะไร

บัฟเฟอร์คือก้อนหน่วยความจำบน heap ที่ต่อเนื่องกันและเก็บองค์ประกอบหลายรายการเรียงกัน เช่น พื้นที่จัดเก็บเบื้องหลังรายการตัวเลข

การจัดสรร

หากต้องการเป็นเจ้าของบัฟเฟอร์ คุณต้อง จัดสรรบัฟเฟอร์ก่อน โดยขอหน่วยความจำบน heap จากระบบให้เพียงพอสำหรับองค์ประกอบที่ต้องการ

พอยน์เตอร์ไปยังจุดเริ่มต้น

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

เขียนลงในบัฟเฟอร์

เมื่อมีพอยน์เตอร์ คุณสามารถเก็บค่าในแต่ละช่องตาม ดัชนี เพื่อเติมข้อมูลที่โปรแกรมต้องการลงในบัฟเฟอร์

อ่านข้อมูลกลับ

การอ่านก็ทำเช่นเดียวกัน เพียงเลือก ดัชนี แล้วพอยน์เตอร์จะนำคุณตรงไปยังองค์ประกอบนั้นในบัฟเฟอร์

คุณต้องคืนหน่วยความจำ

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

จับคู่การจัดสรรกับการคืนหน่วยความจำ

การจัดสรรทุกครั้งต้องมีการคืนหน่วยความจำที่สอดคล้องกัน การลืมคืนบัฟเฟอร์ทำให้เกิด หน่วยความจำรั่ว ซึ่งค่อย ๆ ใช้หน่วยความจำของโปรแกรมจนสิ้นเปลือง

ให้ชนิดข้อมูลจัดการแทนคุณ

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

var data = List[Int](capacity=4)

ความเป็นเจ้าของหมายถึงความรับผิดชอบ

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

เหตุผลที่ควรเรียนรู้เรื่องนี้

แม้ชนิดข้อมูลมักจัดการหน่วยความจำให้คุณ การรู้ว่าบัฟเฟอร์ที่มีเจ้าของทำงานอย่างไรจะช่วยให้คุณเขียนโค้ดที่เร็วและ ควบคุมได้มากที่สุด

ตรวจสอบอย่างรวดเร็ว

มาทบทวนหน้าที่ของคุณหลังจัดสรรบัฟเฟอร์

สรุปทบทวน

การเป็นเจ้าของบัฟเฟอร์หมายถึงคุณจัดสรร ใช้ และคืนหน่วยความจำบน heap ด้วยตนเอง ชนิดข้อมูลมาตรฐานอย่าง List จะจัดการ ช่วงอายุการใช้งานนี้ให้คุณ 🎯

เริ่มต้นได้ฟรี

เรียนรู้ Mojo ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “การเป็นเจ้าของบัฟเฟอร์บนฮีป” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเป็นเจ้าของบัฟเฟอร์บนฮีป” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Mojo Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเป็นเจ้าของบัฟเฟอร์บนฮีป”

จัดสรรและคืนหน่วยความจำที่คุณควบคุม คุณปฏิบัติ Mojo Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Mojo Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Mojo Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การเป็นเจ้าของบัฟเฟอร์บนฮีป” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Mojo Academy นี้ได้ไหม

ได้ บทเรียน Mojo Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สแตกเทียบกับฮีปแบบเข้าใจง่าย
  2. พอยน์เตอร์โดยไม่ต้องกลัว
  3. การเป็นเจ้าของบัฟเฟอร์บนฮีป
  4. การหลีกเลี่ยงข้อผิดพลาดด้านหน่วยความจำที่พบบ่อย
← กลับไปที่ Mojo Academy