C++ ialah bahasa pengaturcaraan yang berkuasa, tetapi anda juga akan menghadapi ralat semasa penggunaan. Salah satu ralat biasa ialah "Tidak dapat memperuntukkan memori". Jadi, apabila kita menghadapi ralat ini, bagaimana untuk menyelesaikannya?
Pertama sekali, kita perlu menjelaskan dengan jelas bahawa apabila kita menulis program C++, kita perlu memperuntukkan memori secara manual. Ini bermakna kita perlu mencipta penunjuk dan memperuntukkan ruang kepadanya. Proses ini memerlukan pengaturcara mengawal secara manual dan memastikan ruang yang diperuntukkan adalah mencukupi.
Apabila kita memperuntukkan ruang yang tidak mencukupi, ralat "Tidak dapat memperuntukkan memori" akan berlaku. Ralat ini berkaitan dengan fungsi yang kita gunakan semasa memperuntukkan ruang. Dalam C++, terdapat dua fungsi yang biasa digunakan untuk memperuntukkan memori: baru dan malloc. Di bawah ini kami akan memperkenalkan mereka masing-masing dan cara menyelesaikan ralat.
Menggunakan baharu untuk memperuntukkan memori ialah cara biasa dalam C++. Apabila kita perlu mencipta objek atau tatasusunan, kita biasanya menggunakan operator baharu untuk memperuntukkan memori. Contohnya:
int* myArray = new int[100];
Pernyataan ini akan mencipta tatasusunan yang mengandungi 100 integer dan mengembalikan penuding ke permulaan tatasusunan. Selepas menggunakan tatasusunan, kita perlu melepaskan ruang secara manual:
delete[] myArray;
Jika kita menghadapi ralat "Tidak dapat memperuntukkan memori" apabila menggunakan baru untuk memperuntukkan memori, mungkin terdapat beberapa sebab dan penyelesaian:
malloc ialah fungsi peruntukan memori yang biasa digunakan dalam bahasa C dan juga boleh digunakan dalam C++. Kod untuk memperuntukkan memori menggunakan malloc adalah seperti berikut:
int* myArray = (int*)malloc(100 * sizeof(int));
Pernyataan ini akan mencipta tatasusunan yang mengandungi 100 integer dan mengembalikan penunjuk ke kedudukan permulaan tatasusunan. Selepas menggunakan tatasusunan, kita perlu melepaskan ruang secara manual:
free(myArray);
Jika kita menghadapi ralat "Tidak dapat memperuntukkan memori" semasa menggunakan malloc untuk memperuntukkan memori, mungkin terdapat beberapa sebab dan penyelesaian:
Ringkasan
Dalam pengaturcaraan C++, kita perlu memperuntukkan memori secara manual, yang memerlukan pengaturcara mengawal penggunaan memori. Apabila kita menghadapi ralat "Tidak dapat memperuntukkan memori" semasa memperuntukkan memori, kita boleh menyelesaikan masalah dengan cara yang disasarkan berdasarkan fungsi peruntukan yang digunakan.
Perlu diingatkan bahawa apabila kita menulis program, sebaiknya mulakan memori sebelum menggunakannya untuk mengelakkan hasil yang tidak diketahui. Pada masa yang sama, pelepasan memori yang tepat pada masanya boleh mengelakkan kebocoran memori dan ralat "tidak dapat memperuntukkan memori".
Atas ialah kandungan terperinci Ralat C++: Tidak dapat memperuntukkan memori, bagaimana untuk menyelesaikannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!