'ใหม่' และ 'ลบ' ได้รับการเลิกใช้ใน C ++ หรือไม่
ฉันพบคำถามที่เกี่ยวข้องกับการประกาศอาร์เรย์ที่มีขนาดต่างกัน สิ่งแรกที่อยู่ในใจของฉันคือฉันจะต้องใช้การจัดสรรแบบไดนามิกกับnewคำสั่งเช่นนี้ while(T--) { int N; cin >> N; int *array = new int[N]; // Do something with 'array' delete[] array; } อย่างไรก็ตามฉันเห็นว่าหนึ่งในวิธีแก้ปัญหาอนุญาตกรณีดังต่อไปนี้: while(T--) { int N; cin >> N; int array[N]; // Do something with 'array' } หลังจากการวิจัยเล็กน้อยฉันอ่านว่า g ++ อนุญาตให้ทำสิ่งนี้ได้ แต่มันทำให้ฉันนึกถึงซึ่งในกรณีนี้จำเป็นต้องใช้การจัดสรรแบบไดนามิกหรือไม่ หรือว่าคอมไพเลอร์แปลว่าเป็นการจัดสรรแบบไดนามิกหรือไม่ ฟังก์ชั่นลบรวมอยู่ด้วย อย่างไรก็ตามโปรดทราบว่าคำถามในที่นี้ไม่เกี่ยวกับการรั่วไหลของหน่วยความจำ