#include <iostream>
template < typename T, std::size_t N > void foo( T(&array)[N] )
{
std::cout << "size: " << sizeof(array)
<< " num elements: " << N << '\n' ;
}
int main()
{
int a[23] ; foo(a) ;
const double b[57] = {0} ; foo(b) ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPCB0eXBlbmFtZSBULCBzdGQ6OnNpemVfdCBOID4gdm9pZCBmb28oIFQoJmFycmF5KVtOXSApCnsKCXN0ZDo6Y291dCA8PCAic2l6ZTogIiA8PCBzaXplb2YoYXJyYXkpICAKCSAgICAgICAgICA8PCAiICAgIG51bSBlbGVtZW50czogIiA8PCBOIDw8ICdcbicgOwp9CgppbnQgbWFpbigpIAp7CglpbnQgYVsyM10gOyBmb28oYSkgOwoJY29uc3QgZG91YmxlIGJbNTddID0gezB9IDsgZm9vKGIpIDsgCn0=