Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เหตุใดโปรแกรมเมอร์ C ++ จึงควรลดการใช้ 'ใหม่' ให้น้อยที่สุด


new ใช้สำหรับการจัดสรรหน่วยความจำแบบไดนามิก หน่วยความจำที่จัดสรรในกรณีนี้จะอยู่ในฮีป มีค่าใช้จ่ายหลายประการที่เกี่ยวข้องกับการจัดสรรหน่วยความจำประเภทนี้พร้อมกับโปรแกรมเมอร์ที่ต้องทำความสะอาดและจัดการหน่วยความจำด้วยตนเอง การจัดสรรประเภทนี้ต้องใช้เมื่อ −

  • คุณไม่รู้ว่าคุณต้องการหน่วยความจำเท่าไรในเวลาคอมไพล์
  • คุณต้องการจัดสรรหน่วยความจำที่จะคงอยู่หลังจากออกจากบล็อกปัจจุบัน

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

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