Я имею многомерный std::array
и ищу правильный (удобный и эффективный) способ найти его размер (по количеству ячеек или в байтах)
size()
возвращает только последний размерный размер (который понимается)
std::array<std::array<std::array<std::array<double, 2>, 3>, 6>, 100> my_array;
my_array.size(); // returns 100
Хотя размер массива известен во время компиляции, я хотел бы избежать #define SIZE_OF_MY_ARRAY
или глобальной переменной, потому что я ищу лучший способ, чем передавать размер с массивом (как в «старых» массивах, не стандартный массив) или информирование других лиц об использовании определенного термина.
Я также предпочитаю не рассчитывать его каждый раз.
Возможно, эти 2 предпочтения невозможны для многомерного массива?
Как мне эффективно найти общий размер my_array
? Я использую c ++ 11 .