Rumah > pembangunan bahagian belakang > C++ > Apakah Perbezaan Antara Operator C `baru` dan `operator baru`?

Apakah Perbezaan Antara Operator C `baru` dan `operator baru`?

Patricia Arquette
Lepaskan: 2024-12-16 05:59:09
asal
214 orang telah melayarinya

What's the Difference Between the C   `new` Operator and `operator new`?

Operator Baharu lwn. Operator Baharu: Menjelaskan Perbezaan

Membezakan antara "pengendali baharu" dan "pengendali baharu" boleh mengelirukan. Berikut ialah penjelasan yang mendalam untuk menjelaskan perbezaannya.

Pengendali Baharu: Pemberi Memori Mentah

Pengendali baharu ialah fungsi C standard yang memperuntukkan memori yang tidak diinisialisasikan daripada timbunan. Ia beroperasi sama dengan fungsi malloc() tetapi khusus untuk C .

Anda boleh memanggil operator baharu terus untuk menyimpan memori mentah:

char *x = static_cast<char *>(operator new(100));
Salin selepas log masuk

Melebihi muatan operator baharu mungkin, membolehkan anda untuk sesuaikan peruntukan memori untuk kelas tertentu atau secara global.

Operator Baharu: Penciptaan Objek dan Permulaan

"Operator baharu" ialah kaedah utama yang digunakan untuk mencipta objek dalam C . Ia menggabungkan fungsi operator baharu dan pembina kelas.

Apabila anda menggunakan operator baharu:

my_class *x = new my_class(0);
Salin selepas log masuk

Ia mula-mula memanggil operator baharu untuk memperuntukkan memori mentah untuk objek my_class. Selepas itu, ia memanggil pembina my_class(0) untuk memulakan objek dalam memori itu. Jika my_class mengandungi objek kelas terbenam atau asas, pembinanya juga dipanggil.

Perbezaan Utama

Perbezaan asas antara "pengendali baharu" dan "pengendali baharu" terletak pada tingkah laku mereka:

  • Pengendali baharu: Memperuntukkan memori mentah tanpa sebarang permulaan.
  • "Operator baharu": Menggabungkan peruntukan memori melalui operator baharu dengan pembinaan objek melalui pembina.

Ringkasnya, operator baharu ialah peringkat rendah berfungsi untuk memperuntukkan memori mentah, manakala "operator baharu" ialah abstraksi peringkat lebih tinggi yang mengendalikan peruntukan memori dan permulaan objek dengan lancar.

Atas ialah kandungan terperinci Apakah Perbezaan Antara Operator C `baru` dan `operator baru`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan