Dalam C , pengendali baharu biasanya digunakan untuk memperuntukkan memori pada timbunan. Walau bagaimanapun, persoalan timbul sama ada pengkompil dibenarkan untuk mengoptimumkan peruntukan memori timbunan ini.
Menurut N3664: Menjelaskan Peruntukan Memori, pengkompil dibenarkan untuk mengoptimumkan sekitar memori peruntukan. Pengoptimuman ini adalah berdasarkan peraturan "seolah-olah", yang menyatakan bahawa pelaksanaan boleh mengabaikan keperluan selagi hasilnya kelihatan seolah-olah keperluan itu dipenuhi. Memandangkan baru boleh membuang pengecualian, sesetengah pihak berpendapat bahawa ia tidak boleh dioptimumkan kerana kelakuannya yang boleh diperhatikan.
Walau bagaimanapun, penyokong pengoptimuman berpendapat bahawa Peraturan "seolah-olah" terpakai walaupun dalam kes ini. Mereka berhujah bahawa pengkompil boleh menentukan bahawa peruntukan tidak akan menyebabkan pengecualian dan menghapuskan panggilan baharu tidak akan melanggar peraturan. Selain itu, dihujahkan bahawa pengkompil boleh membuktikan bahawa tiada penggantian pengendali global baharu akan menjejaskan gelagat yang boleh diperhatikan, membolehkan ia melakukan pengoptimuman.
Walaupun kebanyakan penyusun tidak mengoptimumkan panggilan baharu, beberapa pengecualian wujud. Clang, sebagai contoh, telah melaksanakan pengoptimuman yang kemudiannya menjadi sebahagian daripada C 14. Walau bagaimanapun, dalam kes di mana versi baru yang tidak dibuang digunakan atau di mana pengendali pengganti baharu boleh dilakukan, pengoptimuman mungkin tidak dilakukan.
Keupayaan pengkompil untuk mengoptimumkan peruntukan memori timbunan adalah isu yang kompleks dengan tafsiran yang berbeza-beza bagi peraturan "seolah-olah". Walaupun sesetengah pelaksanaan membenarkan pengoptimuman sedemikian dalam keadaan tertentu, yang lain mematuhi piawaian dengan ketat dan tidak melaksanakannya.
Atas ialah kandungan terperinci Bolehkah Pengkompil C Mengoptimumkan Peruntukan Memori Timbunan Menggunakan `baru`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!