Є std::array<T, N>::size(), але це нестатично, тому він вимагає екземпляра std::array. Чи є спосіб , щоб отримати значення , яке вона повертає (який є Nв std::array<T, N>) без того , щоб побудувати екземпляр масиву? Для нормального масиву я міг би використати sizeof, але я не бачу гарантії, яка sizeof(std::array<T, N>) == N * sizeof(T)б була правдою.
@ShadowRanger Тому що
—
NathanOliver
sizeof(std::array<T, N>) == N * sizeof(T)це не повинно бути правдою.
Тому що масив може бути введений деінде в іншому місці або переданий як аргумент шаблону.
—
dragonroot
Якщо ви хочете знати кількість елементів, просто використовуйте
—
JohnFilleau
N.
@dragonroot Який сенс у всьому цьому? Якщо ви вже повинні
—
Ремі Лебо
Nпочати з цього, не потрібно проходити все це, щоб отримати це Nопосередковано або підтвердити це N==N. Який фактичний випадок використання ви намагаєтеся вирішити?
N, чому вам потрібно попроситиarrayвідтворити це для вас?