Простые цифровые данные, для которых необходимо последовательно работать?
std::valarray<double>
Если профилирование показывает, что это замедляет вас вниз, искать способы, чтобы сделать это быстрее
std::valarray<double>::resize()
(да, нет нет reserve()
к сожалению.
Почему std::valarray<double>
для числовых данных? Если вы хотите выполнить операцию над каждым элементом, просто позвоните по телефону
std::valarray<double>::apply(somefunction)
См. Дополнительную информацию: a C++ reference.
Если вы хотите иметь возможность reserve()
, вам понадобится std::vector
, что также прекрасно, но не имеет перегрузок для математических функций, которые вы можете использовать.
EDIT: Это, конечно, если у вас есть достаточно памяти, чтобы соответствовать всем массивам в std::valarray
с. Если нет, вы должны разбить 200 000 строк так, чтобы в память одновременно включалось только так много поплавков.
Вы не можете получить проблемы с переполнением стека, если они не находятся в стеке. – chris
Зависит от того, что вы хотите с ними делать. – m0skit0
Объяснение того, что вы хотите с ними, может помочь –