Übergeben Sie ein Array als Zeiger + Größe oder Bereich an eine umschlossene Funktion

Gegeben ein Header wie:

#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"));
}

(Ich habe hier aus Bequemlichkeitsgründen C ++ 11 verwendet. Dies kann entweder C oder C ++ sein, wenn Sie die Implementierungen geändert haben.)

Wie kann ich diese Funktionen umbrechen, um nur ein Array auf der Java-Seite zu verwenden und die (bekannte) Größe des Arrays zu verwenden, um den zweiten Parameter für diese Funktionen bereitzustellen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage