การ จํา รั่ว เป็น เรื่อง ธรรมดา ใน โปรแกรม ซี และ ซี+ ซึ่ง อาจ ทํา ให้ มี การ ใช้ ความ จํา และ ความ ไม่ มั่นคง ใน ระบบ เพิ่ม ขึ้น การ เข้าใจ ตัว อย่าง ที่ เป็น จริง ใน โลก ช่วย ผู้ พัฒนา ให้ รู้ จัก และ แก้ ปัญหา เหล่า นี้ ได้ บทความ นี้ เสนอ ฉาก เหตุ การณ์ และ วิธี แก้ ที่ เกี่ยว ข้อง กับ การ รั่ว ของ ความ จํา ใน ภาษา เหล่า นี้

ตัว อย่าง 1: การ ขาด อิสระ ใน การ รับ ใช้ พระ ยะ โฮ วา

ใน C, หน่วยความจําที่ปรับอัตโนมัติจะต้องเป็นอิสระโดยตรง การไม่ทําเช่นนั้นจะทําให้หน่วยความจํารั่ว ตัวอย่างเช่น การรวมหน่วยความจําด้วย [FLT: 0] โดยไม่ตรงกับ ส่งผลให้หน่วยความจํารั่วไหลออกไป

รหัสชิ้นส่วน:

ทาง แก้:

มั่นใจ [FLT: 3] เรียกหลังจากการใช้งานแล้ว

ตัว อย่าง 2: ผู้ เขียน มาก กว่า คน อื่น โดย ไม่ มี อิสระ ใน การ เขียน C

ตัว อย่าง เช่น การ มอบ หมาย ให้ มี ค่า ตัว ใหม่ แก่ ตัว ชี้ แนะ โดย ไม่ ปล่อย ตัว ตัว ก่อน.

รหัสชิ้นส่วน:

[FLT: 4]

[FLT: 5]

ทาง แก้:

ออกจากโปรแกรมต้นฉบับก่อนทําการเซ็นอีกครั้ง:

[FLT: 6]

ตัวอย่าง 3: หน่วยความจํา leak in C++ กับใหม่

ใน C++ โดยใช้ [FLT: 7] จัดเก็บหน่วยความจําที่จะต้องตกลงตกลงกับ [FLT: 8]. ลืมลบ สาเหตุที่รั่วไหล.

รหัสชิ้นส่วน:

[FLT: 9]

ทาง แก้:

ใช้ [FLT: 10] เพื่อปลดปล่อยหน่วยความจํา:

[FLT: 11]

การ ฝึก ที่ ดี ที่ สุด เพื่อ ป้องกัน การ ขาด ความ จํา

  • เป็นคู่เสมอ[FLT: 12] กับ และ กับ .
  • ใช้ตัวชี้แบบฉลาดใน C+ เพื่อจัดการหน่วยความจําอัตโนมัติ
  • ทบทวนรหัสสําหรับสิ่งรั่วไหลเป็นประจํา
  • สังเคราะห์อุปกรณ์เช่น Valgrind เพื่อตรวจสอบการรั่วไหลระหว่างการพัฒนา