静的配列長なら、
template< typename T, size_t N >
size_t length_of( T const (&)[N] ){ return N; } とかある