¿Cómo puedo copiar una parte de una matriz a otra matriz en C ++?

Esta es la misma pregunta que se hace en C # pero necesito para C ++

¿Cómo puedo copiar una parte de una matriz a otra matriz?

Considera que estoy teniendo

    int[] a = {1,2,3,4,5};

Ahora, si doy el índice de inicio y el índice final de la matriz, debería copiarse en otra matriz.

Al igual que si doy el índice de inicio como 1 y el índice de final como 3, los elementos 2, 3, 4 deberían copiarse en la nueva matriz.

En C # se hace como sigue

     int[] b = new int[3];
    Array.Copy(a, 1, b, 0, 3);

¿Hay alguna forma simple como esta para hacer la misma tarea en C ++?

Respuestas a la pregunta(5)

Su respuesta a la pregunta