TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.6K subscribers
Post #3174 1.7K
#вопросы_с_собеседований
Какие отличия у std::array и std::vector?

std::array — это обёртка вокруг обычного массива, фиксированного размера, а std::vector - это динамически расширяемый массив. std::array хранит свои данные в стековой памяти, а vector выделяет память в куче (динамическая память). У std::array в параметрах шаблона указывается тип хранимых элементов и размер массива. А у std::vector - тип элементов и ещё возможно указать аллокатор, который нужно использовать при выделении памяти (с помощью new). std::array чуть лучше по производительности в случае небольшого массива, чем std::vector, который содержит в себе несколько указателей, которые указывают на выделенный в куче кусок памяти.
More from @seniorcpp
  1. Oct 4, 2026Избавляемся от макросов В целом, разработчики стандарта стараются исключить препроцессор.…
  2. Oct 1, 2026malloc стал безопасен В предыдущих версиях использование низкоуровневых функций, унаследов…
  3. Sep 30, 2026Алгоритм copy_n Используется для копирования элементов из одного контейнера в другой.
  4. Sep 28, 2026Упрощаем код с помощью if constexpr и концептов C++17/C++20 Смотреть статью
  5. Sep 27, 2026#вопросы_с_собеседований Как следует обрабатывать ошибки во время выполнения в C++? — Ошиб…
  6. Sep 25, 2026Проверка возможности конструирования элемента с набором конкретных параметров Когда шаблон…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →