Re[2]: Как правильно определить ARRAYSIZE?
От: Аноним  
Дата: 15.02.05 17:11
Оценка:
Здравствуйте, korzhik, Вы писали:

K>Здравствуйте, Аноним, Вы писали:


А>>Самый простой вариант:

А>>#define ARRAYSIZE(ar) (sizeof(ar)/sizeof(ar[0]))

А>>Этот вариант применим только к массивам объявленным статически:

А>>TCAHR ar[56];

А>>Как заставить компилятор генерировать ошибку если в качестве параметра передается указатель?


K>Если требуется compile-time integral constant, то можно так


K>
K>template<class T, std::size_t N> 
K>char(&lenghtOf(T(&)[N]))[N];

K>#define lenghtOf(arr) sizeof(lenghtOf(arr))
K>


упппс, где такие фокусы описываются, где про это можно почитать?
эт что-то из метапрограммирования, э?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.