Здравствуйте, igna, Вы писали:
I>Чем заменить макрос вычисляющий длину массива?
I>I>#define LENGTH(a) (sizeof(a) / sizeof(*a))
I>
template <std::size_t N>
struct TypeWhichHasSizeExactly
{
typedef char (&type)[N];
};
template <typename ArrayElementT, std::size_t N>
typename TypeWhichHasSizeExactly<N>::type arrayLengthHelper(ArrayElementT (&)[N]);
#define ARRAY_LENGTH(array) sizeof(arrayLengthHelper(array))
(с)
взято здесьАвтор: Roman Odaisky
Дата: 01.11.06
их несколько вариантов было, поиск по ARRAY_LENGTH поможет.