std::array и std::vector
std::array — это обёртка вокруг обычного массива, фиксированного размера, а std::vector — это динамически расширяемый массив. std::array хранит свои данные в стековой памяти, а vector выделяет память в куче (динамическая память). У std::array в параметрах шаблона указывается тип хранимых элементов и размер массива. А у std::vector - тип элементов и ещё возможно указать аллокатор, который нужно использовать при выделении памяти (с помощью new). std::array чуть лучше по производительности в случае небольшого массива, чем std::vector, который содержит в себе несколько указателей, указывающих на выделенный в куче кусок памяти.
Post #4189
5.12K
- 👍 31
- 👏 1