Pase una matriz a una función ajustada como puntero + tamaño o rango

Dado un encabezado como:

#include <iostream>
#include <algorithm>
#include <iterator>

inline void foo(const signed char *arr, size_t sz) {
  std::copy_n(arr, sz, std::ostream_iterator<int>(std::cout, "\n"));
}

inline void bar(const signed char *begin, const signed char *end) {
  std::copy(begin, end, std::ostream_iterator<int>(std::cout, "\n"));
}

(Utilicé C ++ 11 aquí por conveniencia, esto podría ser C o C ++ si cambias las implementaciones)

¿Cómo puedo ajustar estas funciones para tomar solo una matriz en el lado de Java y usar el tamaño (conocido) de la matriz para proporcionar el segundo parámetro para estas funciones?

Respuestas a la pregunta(1)

Su respuesta a la pregunta