Re: Замена макросу вычисляющему длину массива
От: _Dreamer Россия  
Дата: 10.01.07 11:24
Оценка: 6 (1)
Здравствуйте, 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 поможет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.