#include <cstddef> #include <iostream> template<std::size_t N> std::size_t extent(const int (&)[N]) { return N; } int main() { int values[]{4, 7, 9}; auto pointer = values; std::cout << extent(values) << ' ' << (pointer == &values[0]) << '\n'; }