#cpp
Зачем нужен std::vector<>, если есть потенциально более быстрый std::valarray<>?
Ответы
Ответ 1
Упомянутые классы используются для разных задач. std::vector для хранения последовательности любых однотипных элементов и обеспечения возможности изменения размера: Vectors are sequence containers representing arrays that can change in size. std::valarray для хранения массива значений и выполнения математических операций над ними. A valarray object is designed to hold an array of values, and easily perform mathematical operations on them. Выполняемые операции над объектами valarray могут быть оптимизированы в конкретных реализациях, например, для обеспечения параллельных вычислений. Т.о. если ваша задача - обработка чисел, то смысл использовать std::valarray есть. Если же нужно иметь контейнер объектов, не являющихся по сути математическими значениями, то использовать std::vector (или любой другой подходящий контейнер).
Комментариев нет:
Отправить комментарий