Я нашел следующий шаблон на blog:
template <typename T, size_t N>
struct array_info<T[N]>
{
typedef T type;
enum { size = N };
};
Это изящная альтернатива sizeof(a) / sizeof(a[0])
.
Обычно используемая конструкция для получения размера массива должна быть где-то в библиотеке. Я не знаю об этом. Может ли кто-нибудь сказать мне, что эта функциональность находится в стандартных библиотеках где-то и/или в Boost? Предпочтительно в простой и легкой форме.