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 || C++' 카테고리의 다른 글
remove와 remove_if (0) | 2022.09.30 |
---|---|
std::sort와 list::sort는 왜 따로 있을까? (0) | 2022.09.25 |
static 멤버 함수가 static이 아닌 멤버 참조가 안되는 이유, static 멤버 함수에서 this를 사용할 수 없는 이유 (1) | 2022.09.25 |
C++ 클래스 상속, 다중 상속, 가상 함수 그리고 다형성(Inheritance & virtual function & polymorphism) (1) | 2022.09.25 |
static 변수와 전역 변수와 비교 (0) | 2022.09.23 |