
class T {
public:
T(int);
// ...
};
T tarray[] = { T(1), T(2), T(3) };
|
#define array_size(array) (sizeof(array)/sizeof(array[0])) |
template <class T, int sz>
int size(T (&array)[sz])
{ return sz; }
|
template <class T, int sz>
char[sz] sizer(T (&array)[sz]);
|
sizeof(sizer(array));
|