Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah `padam[]` Mengetahui Saiz Tatasusunan yang Diuntukkan?
Cara Pembahagian Memori Mengetahui Saiz Tatasusunan untuk Padam[]
Dalam C , pengendali padam[] digunakan untuk mengagihkan tatasusunan objek daripada ingatan. Walau bagaimanapun, tidak seperti pengendali [] baharu, yang secara eksplisit memerlukan saiz tatasusunan, padam[] nampaknya beroperasi tanpa maklumat ini. Bagaimanakah ia menentukan saiz tatasusunan?
Apabila anda memperuntukkan memori pada timbunan menggunakan new[], pengalokasi memori memperuntukkan blok memori bersebelahan untuk elemen tatasusunan dan menyimpan maklumat tambahan tentang peruntukan, termasuk saiznya. Maklumat ini biasanya disimpan dalam pengepala sejurus sebelum memori yang diperuntukkan.
Penstandardan
Kaedah menyimpan saiz tatasusunan dengan memori yang diperuntukkan tidak diseragamkan dalam C itu sendiri . Pengagih memori yang berbeza melaksanakan pelbagai teknik:
Pendapatan Saiz Tatasusunan
Semasa pemadaman, padamkan[] mendapatkan semula saiz tatasusunan daripada pengepala atau pengalokasi memori yang berkaitan. Dengan mengetahui saiznya, padam[] boleh mengagihkan keseluruhan tatasusunan objek dengan cekap.
Kesimpulan
Ringkasnya, memori yang diperuntukkan oleh[] baharu membawa maklumat tentangnya saiz, sama ada melalui metadata timbunan, pengepala memori atau nilai penunjuk. Maklumat ini digunakan oleh pengendali delete[] untuk menentukan saiz tatasusunan semasa deallocation, membolehkan pengurusan memori yang cekap tanpa perlu memberikan saiz secara eksplisit.
Atas ialah kandungan terperinci Bagaimanakah `padam[]` Mengetahui Saiz Tatasusunan yang Diuntukkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!