Rumah > Artikel > pembangunan bahagian belakang > Perbezaan antara malloc dan baru dalam c++
Perbezaan utama antara malloc dan baharu dalam C++ ialah memori yang diperuntukkan oleh malloc perlu dikeluarkan secara manual, manakala memori yang diperuntukkan oleh baru dikeluarkan secara automatik. Malloc mengembalikan NULL jika peruntukan gagal, dan membuang pengecualian jika peruntukan baru gagal. new secara automatik memulakan memori yang diperuntukkan, dan memori yang diperuntukkan oleh malloc perlu dimulakan secara manual. baharu menyokong ciri lanjutan, seperti peruntukan tatasusunan, pengalokasi tersuai, dsb., malloc tidak menyokongnya.
Perbezaan antara malloc dan baru dalam C++
malloc dan baru kedua-duanya adalah fungsi peruntukan memori yang biasa digunakan dalam C++, tetapi terdapat beberapa perbezaan utama di antara mereka. 1. Sintaks
baharu: Jika peruntukan berjaya, ia akan mengembalikan penunjuk ke memori yang diperuntukkan Jika gagal, ia akan membuang pengecualian std::bad_alloc
.
3 Pengurusan memori
std::bad_alloc
异常。3. 内存管理
free
释放。4. 初始化
5. 异常处理
std::bad_alloc
Memori yang diperuntukkan diuruskan oleh perpustakaan masa jalan C++ dan boleh dikeluarkan secara automatik menggunakan padam. 4. Permulaan
5. Pengendalian pengecualian
🎜malloc:🎜 Kegagalan untuk memperuntukkan tidak akan membuang pengecualian, tetapi mengembalikan NULL. 🎜🎜🎜baharu:🎜 Kegagalan untuk memperuntukkan akan membuangstd::bad_alloc
pengecualian, yang boleh digunakan untuk pengendalian pengecualian. 🎜🎜🎜🎜6. Ciri lanjutan🎜🎜🎜🎜🎜baharu:🎜 Menyokong pelbagai ciri lanjutan, seperti peruntukan tatasusunan, pengagih tersuai, penempatan baharu, dsb. 🎜🎜🎜malloc:🎜 tidak menyokong ciri lanjutan ini. 🎜🎜🎜🎜Ringkasan🎜🎜🎜Secara umum, malloc dan baharu adalah kedua-dua fungsi peruntukan memori, tetapi baharu adalah lebih selamat dan lebih mudah untuk digunakan, serta boleh memulakan dan mengendalikan pengecualian secara automatik. Untuk senario peruntukan memori mudah, malloc boleh digunakan, tetapi untuk senario kompleks yang memerlukan lebih banyak ciri, baharu adalah disyorkan. 🎜Atas ialah kandungan terperinci Perbezaan antara malloc dan baru dalam c++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!