У меня есть массив, который я не знаю его размер до времени выполнения. После запуска программы и вычисления размера размер не изменится.
я проверил следующий код:
#include <iostream>
#include <boost/array.hpp>
#include <cstdint>
int main()
{
uint32_t num_bits = 12;
const uint32_t num_elements = 1 << num_bits;
boost::array<double, num_elements > myArray; //does not work
return 0;
}
следующий код не работает, так как num_elements
вычисляется. Я видел, что есть опция "const_cast", но я не уверен, что это решит мою проблему.
Я бы оценил, если есть решение для повышения, так как я хотел бы использовать boost :: array.
EDIT
num_bits
- это параметр, который я читаю из файла, это значение также неизвестно до запуска. Мне известно о решении, использующем std :: vector, но скорость доступа также важна, так как я часто получаю доступ к этим элементам, и мое моделирование занимает около 3 дней ... В настоящее время я использую просто массив (new и delete)