配列の要素数を得るための計算方法については、数多くのやり方が編み出されてきました。有名なのはこれでしょうか
// 配列の要素数を取得するテンプレート template <typename _CountofType, size_t _SizeOfArray> char (*__countof_helper(_CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray]; #define _countof(_Array) sizeof(*__countof_helper(_Array))
_countof()マクロの呼び出し例
void MyClass::func() { int size; int data1[30]; size=_countof(data1); // size==30 char data2[17]; size=_countof(data2); // size==17 }