C++ Dinamis: Alokasi Memori
Alokasi memori dinamis dalam C++ memungkinkan kita untuk mengalokasikan memori selama waktu eksekusi program. Dengan menggunakan operator new
dan delete
, kita dapat mengelola memori secara lebih fleksibel. Artikel ini akan membahas cara menggunakan new
dan delete
, serta bagaimana mengelola array dinamis.
Penggunaan new
dan delete
Operator new
digunakan untuk mengalokasikan memori di heap, sementara delete
digunakan untuk membebaskan memori yang tidak lagi diperlukan. Berikut adalah contoh sederhana:
#include <iostream>
int main() {
int* ptr = new int; // Mengalokasikan memori untuk satu integer
*ptr = 42; // Menyimpan nilai
std::cout << "Nilai: " << *ptr << std::endl;
delete ptr; // Menghapus alokasi memori
return 0;
}
Dalam contoh di atas, kita mengalokasikan memori untuk sebuah integer menggunakan new
, menyimpan nilai ke dalamnya, dan akhirnya membebaskan memori dengan delete
.
Pengelolaan Memori Dinamis (Array Dinamis)
Kita juga dapat menggunakan new
untuk mengalokasikan array secara dinamis. Contoh berikut menunjukkan cara melakukannya:
#include <iostream>
int main() {
int size;
std::cout << "Masukkan ukuran array: ";
std::cin >> size;
int* arr = new int[size]; // Mengalokasikan array dinamis
for (int i = 0; i < size; i++) {
arr[i] = i * 2; // Mengisi array dengan nilai
}
std::cout << "Isi array: ";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
delete[] arr; // Menghapus alokasi memori array
return 0;
}
Di sini, kita meminta pengguna untuk memasukkan ukuran array, mengalokasikan array dinamis, mengisi nilai ke dalamnya, dan kemudian mencetak nilai tersebut. Akhirnya, kita membebaskan memori menggunakan delete[]
, yang penting untuk mencegah kebocoran memori.
Kesimpulan
Alokasi memori dinamis memberikan fleksibilitas dalam mengelola memori di C++. Dengan memahami cara menggunakan new
dan delete
, serta cara mengelola array dinamis, kita dapat membuat program yang lebih efisien dan responsif terhadap kebutuhan pengguna. Pastikan untuk selalu membebaskan memori yang tidak lagi digunakan untuk mencegah kebocoran memori!
Komentar
Posting Komentar