C++ Lanjutan | #6 Dynamic Memory Allocation

C++ Dinamis: Alokasi Memori

C++ Dinamis: Alokasi Memori

Thumbnail C++ Dynamic Memory Allocation

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