C++ ialah bahasa pengaturcaraan peringkat tinggi yang menyediakan pelbagai kaedah pengurusan memori, termasuk peruntukan memori statik dan peruntukan memori dinamik. Peruntukan memori statik memperuntukkan memori pada masa penyusunan, manakala peruntukan memori dinamik memperuntukkan memori pada masa jalan. Dalam artikel ini, kami akan memberi tumpuan kepada cara melaksanakan peruntukan memori dinamik dalam C++.
1. Gunakan kata kunci baharu untuk memperuntukkan memori
Dalam C++, gunakan kata kunci baharu untuk memperuntukkan memori secara dinamik. Sintaks asas kata kunci baharu adalah seperti berikut:
指针变量 = new 数据类型;
Contohnya:
int *p = new int;
Kod ini akan memperuntukkan ruang jenis int dalam timbunan dan menetapkan alamatnya kepada pembolehubah penunjuk p. Perlu diingatkan bahawa memori yang diperuntukkan menggunakan kata kunci baharu perlu dikeluarkan secara manual, jika tidak, ia akan menyebabkan kebocoran memori.
2. Gunakan kata kunci padam untuk melepaskan memori
Selepas menggunakan kata kunci baharu untuk memperuntukkan memori, anda perlu menggunakan kata kunci padam untuk melepaskan memori. Sintaks asas kata kunci padam adalah seperti berikut:
delete 指针变量;
Contohnya:
delete p;
Kod ini akan melepaskan ruang memori yang ditunjuk oleh pembolehubah penunjuk p. Perlu diingatkan bahawa sebelum melepaskan memori, pastikan ruang itu tidak lagi digunakan, jika tidak, program akan ranap.
3 Gunakan operator [] dan padam[] baharu untuk memperuntukkan dan melepaskan berbilang blok memori
Selain menggunakan operator baharu dan padam untuk memperuntukkan dan melepaskan satu blok memori, anda juga boleh menggunakan [] dan memadam[] baharu. operator Memperuntukkan dan mengosongkan berbilang blok memori. Sintaks asas pengendali
new[] adalah seperti berikut:
指针变量 = new 数据类型[数量];
Contohnya:
int *p = new int[10];
Kod ini akan memperuntukkan 10 ruang jenis int dalam timbunan dan memberikan alamatnya kepada pembolehubah penunjuk p. Perlu diingatkan bahawa memori yang diperuntukkan menggunakan operator [] baharu juga perlu dikeluarkan secara manual, jika tidak, ia akan menyebabkan kebocoran memori. Sintaks asas pengendali
delete[] adalah seperti berikut:
delete[] 指针变量;
Contohnya:
delete[] p;
Kod ini akan mengeluarkan berbilang ruang memori yang ditunjuk oleh pembolehubah penunjuk p. Ia juga penting untuk ambil perhatian bahawa sebelum melepaskan berbilang blok memori, pastikan bahawa ruang memori ini tidak lagi digunakan, jika tidak program akan ranap.
Kesimpulan
Terdapat banyak cara untuk melaksanakan peruntukan memori dinamik dalam C++ Gunakan operator baharu dan padam untuk memperuntukkan dan melepaskan satu blok memori, dan gunakan operator [] dan padam[] baharu untuk memperuntukkan dan melepaskan berbilang blok memori. . Tidak kira kaedah yang digunakan, anda perlu memberi perhatian kepada isu seperti kebocoran memori dan ranap program pengurusan mesti dirawat dengan teliti untuk memastikan operasi normal program.
Atas ialah kandungan terperinci Laksanakan peruntukan memori dinamik dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!