array reference argument

C
template<typename T, size_t N>
void foo(T (&bar)[N])
{
    // use N here
}

Source

Also in C: