공부/C || C++

C++ std::list vs std::vector

sudo 2022. 9. 26. 19:21
vector list
원소를 contiguous memory에 저장
-> cache friendly할 것임
원소를 non-contiguous memory에 저장
내부적으로 동적 배열로 구현 내부적으로 doubly linked list로 구현
default size가 있으며 그 default size를 넘어갈 때 추가 할당을 위한 비용이 크다 default size가 없다
원소 하나 저장하는데 원소 크기만큼만 필요 원소 하나 저장하는데 원소 크기와 더불어
next, previous 포인터에 대한 메모리도 필요
Random access가능 doubly linked list로 구현되어 있어서 Random access가 불가능해서 iterator로 순회해야함

 

Reference:

https://www.educba.com/c-plus-plus-vector-vs-list/

 

C++ vector vs list | 6 Major Differences (With Infographics)

Guide to the top differences between C++ vector vs list. Here we also discuss the key differences with infographics and comparison table.

www.educba.com