Есть std::array<T, N>::size(), но это не статично, поэтому требуется экземпляр std::array. Есть ли способ получить значение, которое он возвращает (который является Nиз std::array<T, N>) без необходимости создания экземпляра массива? Для обычного массива я мог бы использовать sizeof, но не вижу никакой гарантии, что sizeof(std::array<T, N>) == N * sizeof(T)это правда.
@ShadowRanger Потому
—
Натан Оливер
sizeof(std::array<T, N>) == N * sizeof(T)что не должно быть правдой.
Потому что массив может быть определен в другом месте или передан в качестве аргумента в шаблон.
—
dragonroot
Если вы хотите узнать количество элементов, просто используйте
—
JohnFilleau
N.
@dragonroot Какой смысл всего этого, хотя? Если вам уже нужно
—
Реми Лебо
Nначать, нет необходимости проходить через все это, чтобы получить Nкосвенные данные или подтвердить это N==N. Какой конкретный вариант использования вы пытаетесь решить?
N, почему вы должны попроситьarrayвоспроизвести это для вас?