c++ allocate dynamic with initial values

#include <iostream>

int main() {
    // Define array size
    int size = 5;

    // Allocate memory for the array
    int *arr = new int[size];

    // Define initial values for the array
    int initialValues[] = {1, 2, 3, 4, 5};

    // Initialize the dynamically allocated array with initial values
    for (int i = 0; i < size; ++i) {
        arr[i] = initialValues[i];
    }

    // Display the array elements
    for (int i = 0; i < size; ++i) {
        std::cout << "arr[" << i << "] = " << arr[i] << std::endl;
    }

    // Deallocate memory
    delete[] arr;

    return 0;
}